Entwickler-Ecke
Datenbanken - Einfache Abfrage und in Variablen speichern
Chris Maslowski - So 08.01.06 17:06
Titel: Einfache Abfrage und in Variablen speichern
Hallo,
ich möchte den Inhalt einer Spalte einer Tabelle auslesen und in Variablen speicher. Die Tabelle heist beispielsweise test und die Spalte: spalte_2. In der Spalte sollen alle einträge ausgelesen werden und in Variablen gespeichert werden. Zum Beispiel wäre das der SQL Befehl:
SQL-Anweisung
1:
| SELECT spalte_2 FROM test |
Die Datenbank ist ja schon ausgewählt. Ich hab schon so viele Tutorials gelesen aber irgendwie nicht draus schlau geworden. Wäre echt gut wenn ihr mir dat beantworten könntet.
Schon mal Danke für die Hilfe!
Lex - So 08.01.06 18:23
Ich verstehe nicht genau was Du meinst.
Weise der Query die Abfrage zu, öffne die Query mit open und lies die Datensätze mit "fieldbyname" aus.
Für eine detailiertere Antwort müsstest Du noch genauer angeben, wo Du genau das Problem hast.
Lex
fränk0815 - So 08.01.06 19:03
So zum Beispiel kannst du Datensätze in eine Stringlist einfügen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| if FSqlClient.connect then begin q := 'Select spalte_2 from test'; FSqlResult := FSqlClient.query(q,False,FExecuted);
if FSqlResult.RowsCount <= 0 then exit else begin FSqlResult.First; while not FSqlResult.EOF do begin SL.Add(FSqlResult.FieldValueByName('spalte_2',False)); FSqlResult.Next; end; FreeAndNil(FSqlResult); end; end; FSqlClient.close; FreeAndNil(FSqlClient); |
Ich hoffe damit ist dir geholfen.
Chris Maslowski - So 08.01.06 20:56
Lex hat folgendes geschrieben: |
Ich verstehe nicht genau was Du meinst.
Weise der Query die Abfrage zu, öffne die Query mit open und lies die Datensätze mit "fieldbyname" aus.
Lex |
Ja genau das will ich. Nur ich bekomm das nicht hin. Ich hab zwar schon Tuts gelesen aber da steht das nur wie man dat in ein Stringgrid bekommt. Nur wie mach ich das genau? Könntest du den Code dafür schreiben? Ich glaub der is net so groß oder?
Vielleicht sollte ich auch sagen das ich Delphi 7 PE benutze und deswegen keine Datenbank unterstützung habe. Ich habe MySQL Direct importiert.
fränk0815 - So 08.01.06 20:59
Hast du des Beispiel da oben nicht gesehen ?
Sollte eigentlich so funktionieren ... Odersteh ich jetzt total am Schlauch ?
Chris Maslowski - So 08.01.06 21:06
Da gibt es ein Problem beziehungsweise mehrere.
Zum Beispiel "FSqlResult" kennt der Compiler nicht. Kann es sein das du FMysqlResult meintest? Aber das hat auch net geklappt. Auch nicht FMysql.Result oder FMysql.Status. Vielleicht stehe ich ja auf'm Schlauch.
fränk0815 - So 08.01.06 21:15
du musst in der Procedur wo du das ausführst zuerst einmal dafür sorgen das "er" weis was ein FSqlResult ist :
FSqlClient (TMysqlClient) muss natürlich zuvor erzeugt und initialisiert werden,
auch dei StringList oder die Variablen wo die Datensätze hinsollen sollten schon bestehen oder von dir in der Procedure erzeugt werden.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TForm1Click(Sender: Tobject); var FSqlResult : TMySqlResult; FExecuted : Boolean; begin if FSqlClient.connect then begin q := 'Select spalte_2 from test'; FSqlResult := FSqlClient.query(q,False,FExecuted);
if FSqlResult.RowsCount <= 0 then exit else begin FSqlResult.First; while not FSqlResult.EOF do begin SL.Add(FSqlResult.FieldValueByName('spalte_2',False)); FSqlResult.Next; end; FreeAndNil(FSqlResult); end; end; FSqlClient.close; FreeAndNil(FSqlClient); end; |
Ich denke jetzt solltest du klarkommen
Chris Maslowski - So 08.01.06 21:30
Jetzt klappt es auch sowei aber einen Fehler hab ich immer noch den ich net behoben bekomme. In Zeile 17 das
Delphi-Quelltext
1:
| SL.Add(FSqlResult.FieldValueByName('spalte_2',False)); |
Bereitet mir wieder Kopfzerbrechen. Das "SL" kennt der Compiler nicht? Hat das was mit dem Stringgrid zu tun?
Matthias-K - So 08.01.06 21:33
das wird die stringlist sein!
matthias
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!