Forum: Datenbanken
Delphi
by Nersgatt,
19. Nov 2008
Ein Grund mehr, sich mit Parametern zu beschäftigen. Dann müsstest Du nur 10 Minuten warten :warn:
Gruß,
Jens
Forum: Datenbanken
Delphi
by Nersgatt,
19. Nov 2008
sqFirebird.Active := True;
sqFirebird.ExecSQL();
sqFirebird.Refresh;
sqFirebird.Active := False;
Das kannst Du eindampfen zu
sqFirebird.ExecSQL();
Damit sollte das Problem mit dem Cursor auch behoben sein. Ich habe es jetzt nicht ausprobiert, denke aber, dass im Moment Deine Abfrage sogar 3x ausgeführt wird.
Forum: Datenbanken
Delphi
by Nersgatt,
19. Nov 2008
Wenn "Nummer" auch ein String ist, natürlich das auch in ' einfassen.
Ich habe mir angewöhnt, alphanumerische Schlüsselfelder als "Code" zu bezeichnung und nur numerische Felder als "Nummer" zu bezeichnen. So kann man gleich am Namen erkennen womit man es zu tun hat.
Wobei ich nochmal anregen möchte, wirklich Parameter zu verwenden. Das wird auch die Ausführgeschwindigkeit Deiner Routine...
Forum: Datenbanken
Delphi
by Nersgatt,
19. Nov 2008
Ich gehe mal davon aus, dass "Oberbegriff" in der Datenbank als String gespeichert wird. Dann musst Du es in ' einfassen:
Add('INSERT INTO ' + cbFirebirdTable.Text + '(NUMMER, OBERBEGRIFF) VALUES (' + Nummer + ',''' + Oberbegriff + ''')');
Oder lieber gleich Parameter verwenden.
Gruß,
Jens