verschiedene Datenbank tabellen
-
Hi,
könnte mir jemand erklären was daran falsch ist??
ADOQuery_1->Close(); ADOQuery_1->SQL->Clear(); Query_1->SQL->Add("Insert into Tabelle1(name,vorname) values (:name,:vorname);"); ADOQuery_1->SQL->Add("Insert into Tabelle2(adresse,telefon) values (:adresse,:telefon);"); ADOQuery_1->Parameters->ParamByName("name")->Value=Edit1->Text; ADOQuery_1->Parameters->ParamByName("vorname")->Value=Edit2->Text; ADOQuery_1->Parameters->ParamByName("Adresse")->Value=Edit3->Text; ADOQuery_1->Parameters->ParamByName("Adressen")->Value=Edit4->Text; AD0Query_1->ExecSQL();Wenn ich das so eingebe kommt ne Meldung
"Im Projekt .... ist eine Exception der Klasse EOleException aufgetreten. Meldung: '[Microsoft][ODBC Microsoft Acces Driver] Zeichen nach Ende von SQL-Anweisung gefunden'. ....."
Ich bekomm es einfach nicht hin daten in 2 verschiedenen Tabellen zu speichern die ne 1:1 Beziehung haben.
Bin für jede Hilfe Dankbar
-
Hallo
Wie die fehlermeldung sagt, hat es nichts mit dem Verhältnis der Tabellen an sich zu tzun, sondern weil die SQL-Syntax nicht richtig ist. Mein Typ : Die Komponenten bzw. das Client-Interface von Access können keine Mehrfachanweisungen verarbeiten. Deshalb must du die beiden SQL-Anweisungen voneinander getrennt zusammenstellen und ausführen.
/Edit : Davon ausgehend, das der eine einsame Query-Name nur ein Schreibfehler ist.
Wenn nicht : Du must trotzdem die Semikolon hinter den SQL-Anweisungen weglassen.bis bald
akari
-
ich komm mir jetzt ein bisschen blöd vor, aber ich versteh das nicht so ganz wie du das meinst.
Ich hab das jetzt so verstanden
ADOQuery_1->Close(); ADOQuery_1->SQL->Clear(); AD0Query_1->SQL->Add("Insert into Tabelle1(name,vorname) values (:name,:vorname);"); ADOQuery_1->Parameters->ParamByName("name")->Value=Edit1->Text; ADOQuery_1->Parameters->ParamByName("vorname")->Value=Edit2->Text; AD0Query_1->ExecSQL(); ADOQuery_1->SQL->Clear(); ADOQuery_1->SQL->Add("Insert into Tabelle2(adresse,telefon) values (:adresse,:telefon);"); ADOQuery_1->Parameters->ParamByName("Adresse")->Value=Edit3->Text; ADOQuery_1->Parameters->ParamByName("Adressen")->Value=Edit4->Text; AD0Query_1->ExecSQL();
-
Hallo
Ja genauso habe ich das gemeint.
Wenn du jetzt noch die Semikolons in den SQL-Anweisungen wegläßt, sollte der Fehler behoben sein.bis bald
akari
-
hi,
warum machst es nicht über FieldByName?
ADOQuery1->Close(); ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("SELECT * FROM......); ADOQuery1->Open(); ADOQuery1->Append(); //auf letzten Datensatz setzten ADOQuery1->FieldByName("name")->AsString = Edit1->Text; ..... ADOQuery1->Post();
-
Danke für deine Hilfe.
Ich bekomm zwar jetzt noch einen fehler das die beziehungen nicht stimmen aber das hat ja nichts mehr mit der C++ programmierung zu tuen (Denke ich mal).
-
Avalon schrieb:
hi,
warum machst es nicht über FieldByName?
...Das mag bei solch einfachen Sachen noch gehen.
Aber mit INSERT-Anweisung ist man flexibler und direkter.bis bald
akari