![]() |
AW: Probleme mit Locate
Also bei mir funktioniert das nicht :(
Ich habe eine Datenbank test darin sind 3 Tabellen: tab1, tab2, tab3. Hier geht es jetzt um tab1 In Tab1 sind folgende felder: kunde_name, kunde_vorname, kunde_telefon usw usw
Delphi-Quellcode:
Sobald das prepare ausgeführt wird kommt diese Meldung: "The SQL Command has an error at row 1, column1: Select expected"
tdbquery_insert.SQL.Text := 'insert into tab1 (kunde_name, kunde_vorname, kunde_telefon) values (:kunde_name, :kunde_vorname, :kunde_telefon)';
tdbquery_insert.Prepare; lass ich das prepare weg, dann kommt später bei diesem Programmteil:
Delphi-Quellcode:
Der Fehler: Parameter kunde_vorname nicht gefunden.
tdbquery_insert.ParamByName('kunde_vorname').AsString := nodelist.Items[z].Nodes[0].value;
tdbquery_insert.ParamByName('kunde_name').AsString := nodelist.Items[z].Nodes[1].value; tdbquery_insert.ExecSQL; was mache ich falsch?? |
AW: Probleme mit Locate
Hallo BBoy,
bist Du sicher, dass Du mit TurboDB arbeitest? Ich frage das deshalb, weil es dort keine Komponente TSQLQuery oder so gibt sondern z.B. ein TTdbQuery. Falls ja, welche Version hast Du? Mit Version 6 habe ich Deinen Code gerade probiert und er funktioniert wie Du es erwartest. PS: Noch ne doofe Frage: Oben setzt Du den Text bei tdbquery und unten die Parameter bei tdbquery_insert?? |
AW: Probleme mit Locate
Ja bin sicher das es TurboDB ist :) Habe Version 5 aber daran sollte es nicht liegen, ist doch sql.
Zitat:
|
AW: Probleme mit Locate
Dann schick doch bitte mal Dein Beispielprogramm an support at dataweb.de. Ich sehs mir an.
|
AW: Probleme mit Locate
ich hatte heute den code direkt in mein fertiges Programm eingefügt. Werde morgen mal ein testprogramm schreiben wo auf meine Datenbank zugreift und wenn das auch nicht geht, dann werde ich es schicken.
|
AW: Probleme mit Locate
Moin...
Delphi-Quellcode:
...die Reihenfolge deiner Feldnamen und Values sind unterschiedlich. Wenn man sich nach den Bezeichnungen richtet kommt der Vorname im Feld Name an. 8-)
tdbquery_insert.SQL.Text := 'insert into tab1 (kunde_name, kunde_vorname, kunde_telefon) values (:kunde_vorname, :kunde_name, :kunde_telefon)';
|
AW: Probleme mit Locate
Das ist ein Tippfehler hier im Forum. In meinem Code sieht das anders aus. Habe es im beitrag geändert.
|
AW: Probleme mit Locate
Das Problem ist gelöst!
Delphi-Quellcode:
Das ganze hat nicht funktioniert weil bei TdbQuery die Option ParamCheck auf False war. Habe da auf True gestellt und dann funktioniert das auch. War ja klar das es sowas banales ist :)
TdbQuery_insert.DatabaseName := tdbtable1.DatabaseName;
tdbquery_insert.SQL.Text := 'insert into tour (gccode,tourpos) values (:code, :tpos)' ; tdbquery_insert.Prepare; tdbquery_insert.ParamByName('code').AsString := 'GC12149'; //tdbquery_insert.DataSource.DataSet.RecordCount; tdbquery_insert.ParamByName('tpos').AsString := '1'; tdbquery_insert.ExecSQL; Danke für eure Hilfe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:10 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-2025 by Thomas Breitkreuz