AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi select * from table where id = ein Wert vom Array

select * from table where id = ein Wert vom Array

Ein Thema von erich.wanker · begonnen am 8. Aug 2009 · letzter Beitrag vom 8. Aug 2009
Antwort Antwort
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
454 Beiträge
 
Delphi XE4 Professional
 
#1

select * from table where id = ein Wert vom Array

  Alt 8. Aug 2009, 17:22
Datenbank: firebird • Version: 2.0.1 • Zugriff über: ZEOS
Hallo Leute,

wie kann ich ein Array von Zahlen abfragen..

select * from table where (id=1) OR (id=2) OR (id=7) OR (id=10) OR (id=16) OR (id=17) ... ..das wird nämlich ganz schön lang ...

Vielen Dank

Erich
Erich Wanker - for life:=1971 to lebensende do begin ..
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: select * from table where id = ein Wert vom Array

  Alt 8. Aug 2009, 17:25
select * from table where id in (1, 2, 7, 10, 16, 17, ...)
  Mit Zitat antworten Zitat
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
454 Beiträge
 
Delphi XE4 Professional
 
#3

Re: select * from table where id = ein Wert vom Array

  Alt 8. Aug 2009, 17:34
Danke für die schnelle Antwort ...

Hab ich da kein Problem mit der Länge des Statements ? ..SQL technisch gesehen.. (Performance ist natürlich geringer, je mehr Einträge im Array sind)...

Gehen tut´s um folgendes.. im ersten DbGrid kann ich ein Objekt auswählen - und im zweiten DbGrid wird mir dann der Datensatz gezeigt, der mit dem ersten matched...

Jetzt will ich "multiselect" im ersten DbGrid realisieren .. und da können schon mal einige hundert datensätze selectiert werden..
Erich Wanker - for life:=1971 to lebensende do begin ..
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#4

Re: select * from table where id = ein Wert vom Array

  Alt 8. Aug 2009, 17:38
Ein Statement zu parsen ist das kleinste Problem einer Datenbank. Nach dem Parsen kommt erstmal eine Rechteprüfung, dann Zugriff aufs Dateisystem (oder den Cache), verarbeiten der Indizes.. Hunderte Zeilen sind für ein einzelnes Statement kein Problem, tausende vermutlich auch nicht. Du musst dir immer im klaren darüber sein, dass deine Daten irgendwie zum Server müssen, und ein einzelnes Statement macht das viel schneller und effizienter als viele einzelne Statements. Wenn deine Datenbank und dein Konnektor Arrays unterstützt, kannst du versuchen, ein Array für die IDs zu benutzen - dann wird das Statement sehr kurz, aber die Daten müssen trotzdem noch irgendwie zum Server.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz