Servus Leute!
Aufgrund Eurer raschen Hilfe gestern, habe ich nun einiges bei meinem Schulprojekt erledigt. Nun aber habe ich ein kleines Problem mit einem INSERT-INTO-Code.
Zuerst werden in eine Combobox (cb_klassen) alle Klassen der Datenbank eingelesen. Hier ist der Code einmal:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure tform3.cbfill(); begin
form1.ADOQuery1.close; form1.ADOQuery1.SQL.clear; form1.ADOQuery1.SQL.Add('Select distinct klasse from Schueler'); form1.ADOQuery1.Open;
While not form1.ADOQuery1.Eof do begin cb_klassen.items.add(form1.adoquery1.FieldValues['Klasse']); form1.ADOQuery1.Next; end;
form1.Adoquery1.close;
end; |
Nun werden einmal alle Klassen der Datenbank ins Listview eingelesen.
Da ich aber auch neue Schüler hinzufügen muss, habe ich dies mit INSERT-INTO gelöst. Soweit so gut. Die Daten werden mir alle in die Datenbank eingetragen, jedoch taucht bei der Datenbankspalte Klasse immer zB
'1AHK' auf. Damit die Eintragung stimmt, müssen die Anführungszeichen bei der Klasse verschwinden. - Ansonsten wird ja in die Combobox eine neue Klasse mit den '' eingetragen.
Hier wäre mein Quellcode:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var Sqlstring : string; begin
Klass := cb_klassen.Items[cb_klassen.ItemIndex];
form1.ADOQuery1.Close; form1.ADOQuery1.SQL.clear;
Sqlstring:= 'Insert into Schueler (Nachname, Vorname, Muttersprache, Geburtsdatum, Klasse, Adresse, Staatsbürgerschaft, Ort, PLZ) Values ("' + nachname.text + '", "' + vorname.Text + '", "' + Sprache.text + '", "' + Datum.text + '", "' + QuotedStr(Klass) + '", "' + Adresse.text + '", "' + Land.text + '", "' + ort.text + '", ' + plz.text + ')';
form1.ADOQuery1.SQL.Add(Sqlstring); form1.AdoQuery1.ExecSQL; end; |
Der Fehler liegt bei QuotedStr(Klass), aber leider weiß ich nicht, wie man diesen am besten bzw. einfachsten behebt.
Ich hoffe, dass Ihr mir auch bei dieser kleinen Sache helfen könnt.
Danke schonmal im Voraus für Eure Antworten
Christoph
Moderiert von
Narses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.