Delphi-PRAXiS
Seite 3 von 9     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Einlesen von SQL-Daten in Combobox (https://www.delphipraxis.net/49274-einlesen-von-sql-daten-combobox.html)

Hansa 8. Jul 2005 12:09

Re: Einlesen von SQL-Daten in Combobox
 
Ganz OT finde ich das aber nicht. Schlimmer ist es, etwas aus dem Zusammenhang zu reißen. Deshalb noch eine Frage :

Ich gehe davon aus, mehr aber nicht, daß durch die Dataset Definition eine Stringlist o.ä. im Speicher liegt und das FieldByName nichts anderes macht, als lediglich diese durchzugehen. Aber doch nicht bei jedem Datensatz. Oder doch ? :mrgreen: Intern wird das wahrscheinlich sowieso über den Index der Stringliste geregelt. Oder anders rum gefragt : hat einer das mal getestet ?

cell 8. Jul 2005 12:14

Re: Einlesen von SQL-Daten in Combobox
 
ähhhhh was :mrgreen:

ibp 8. Jul 2005 12:19

Re: Einlesen von SQL-Daten in Combobox
 
ich gehe mal davon aus, dass sharkys beispiel darauf angelegt war, dass du jeden datensatz duchgehst um ihn z.b. in eine cobobox zu laden, dann wird sicherlich diese abfrage entsprechend oft durchlaufen, hier ist sicherlich der zugriff über den index angebracht!

cell 8. Jul 2005 12:22

Re: Einlesen von SQL-Daten in Combobox
 
ahhh kk

Sidorion 8. Jul 2005 12:27

Re: Einlesen von SQL-Daten in Combobox
 
Die Reihenfolge der Felder entspricht NICHT der Reihenfolge in der Datenbank, sondern der Reihenfolge ihres Auftretens im SQL-Statement! (oder bei Zusammengeclickten der Reihenfolge in der Liste)
Solange man also das Select-statement nicht ändert (bei namentlich angegebenen Spalten), kann nix passieren.
Problematisch wirds bei SELECT * FROM Foo. Hier ist die Reihenfolge wieder entsprechend der in der Datenbank (weil intern der * durch feld1, feld2,... ersetzt wird und diese Ersetztung wird aufgrund Informatinen der Systemtabellen vorgenommen wird), allerdings muß man in einem solchen Fall eh den Code zum Auslesen anpassen.

marabu 8. Jul 2005 12:29

Re: Einlesen von SQL-Daten in Combobox
 
Hallo Leute,

Zitat:

Zitat von Hansa
hat einer das mal getestet ?

klar doch.

Habe meinen Test - ohne wissenschaftlichen Anspruch - sogar noch rumliegen. 10 Mio Zugriffe auf das letzte Attribut einer 21-stelligen Relation: 87s bei Zugriff per FieldByName(), 24s bei Zugriff über meinen NameIndex und 7s bei Zugriff über Index-Variable.

Grüße vom marabu

cell 8. Jul 2005 12:48

Re: Einlesen von SQL-Daten in Combobox
 
procedure TfrmTestauswahl.cbotestnummerChange(Sender: TObject);
myQuery.First;
while not (myQuery.Eof) do
begin
qrMain.SQL.Text:='SELECT `Testnummer` WHERE `Testabschnitt=3`;
Combobox.Items.Add(myQuery.Fields[0].AsString);
end;

end.


Kann man das so schreiben oder sind da gravierende Fehler drinnen?? wenn ja welche

cell 8. Jul 2005 12:50

Re: Einlesen von SQL-Daten in Combobox
 
sry hab noch nicht gesagt was ich machn will!!
also ich mach ein neues Fenster auf wo eien combobox ist. beim aufmachn schon soll sich die Combobox mit den daten aus der Tabelle Testnummer füllen wo der testabschnittt 3 ist

marabu 8. Jul 2005 12:55

Re: Einlesen von SQL-Daten in Combobox
 
Erstmal fehlen die delphi-tags in deinem Beitrag.
Dann fehlt ComboBox.Items.Clear - die Box wird so mit der Zeit recht voll.
Und dann musst dich noch entscheiden, wann du mit qrMain und wann mit myQuery arbeitest.

marabu

cell 8. Jul 2005 12:58

Re: Einlesen von SQL-Daten in Combobox
 
procedure TfrmTestauswahl.cbotestnummerChange(Sender: TObject);
myQuery.First;
while not (myQuery.Eof) do
begin
myQuery.SQL.Text:='SELECT `Testnummer` WHERE `Testabschnitt=3`;
ComboBox.Items.Clear
Combobox.Items.Add(myQuery.Fields[0].AsString);
end;



aber was meinst du mit delphi tags???


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:47 Uhr.
Seite 3 von 9     123 45     Letzte »    

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