![]() |
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 ? |
Re: Einlesen von SQL-Daten in Combobox
ähhhhh was :mrgreen:
|
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!
|
Re: Einlesen von SQL-Daten in Combobox
ahhh kk
|
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. |
Re: Einlesen von SQL-Daten in Combobox
Hallo Leute,
Zitat:
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 |
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 |
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 |
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 |
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 06:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz