Hallo,
nach mehrfacher Empfehlung arbeite ich jetzt mit ADS und versuche gerade die
BDE in einem alten Programm durch ADS zu ersetzen. Im Moment scheitere ich bei einer Insert-Anweisung. Vielleicht stelle ich mich einfach nur blöd an, aber mit der
BDE ist das Programm gelaufen.
Meine
SQL-Anweisung sieht folgendermaßen aus:
Delphi-Quellcode:
Sql.Add('
INSERT INTO "' + TblPlanet.Tablename + '
" values (' +
IntToStr(IntZaehler) + '
, ' +
EditPlanetenname.Text + '
, "' +
EditKoordinaten.Text + '
", "' +
StrFelderGesamt + '
", "' +
StrFelderBelegt + '
", ' +
EditMetall.Text + '
, ' +
EditKristall.Text + '
, ' +
EditDeuterium.Text + '
, ' +
EditEnergie.Text + '
)');
Die Tabelle ist folgendermaßen aufgebaut:
Delphi-Quellcode:
Feldnummer Feldname Feldtyp
1 Planetennr Shortint
2 Planetenname Character 50
3 Koordinaten Character 10
4 Felder_gesamt Character 3
5 Felder_belegt Character 3
6 Metall Integer
7 Kristall Integer
8 Deuterium Integer
9 Energie Integer
Eine Anweisung kann im Programmablauf z.B. so aussehen:
INSERT INTO "C:\Programm\Temp\TblPlaneten.adt" values (10, "Kolonie", "[5:255:5]", "458", "125", 4, 5, 6, 7)
Bei dieser Anweisung spuckt er mit folgenden Fehler aus:
Error 7200: AQE Error: State = S0000; NativeError = 2121; [Extended Systems][Advantage
SQL Engine]Column not found: Kolonie -- Location of error in
SQL statement is: 130.
Bei "Kolonie" handelt es sich jedoch um einen Wert und nicht um eine Spalte. Kann mir jemand erklären, was das soll?