tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1478
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Mike_2005
    Mike_2005 Mike_2005 ist offline Grünschnabel
    Registriert seit
    Oct 2004
    Beiträge
    4
    Hallo,
    ich bekomme die folgende Fehlermeldung:
    http://www.MichaelSchilling.de\temp\snap.gif

    Obwohl die Felder in der Datenbank, in der Reihenfolge existieren.

    Code :
    1
    2
    3
    
    Query1->SQL->Add("Insert into dbo.adresse (Name,Vorname,Strasse,Ort,PLZ)");
    Query1->SQL->Add("ename->Text,evorname->Text,estrasse->Text,eort->Text,eplz->Text");
    Query1->ExecSQL();

    (Ich nutze hier die Komponente TQuery)
    (Das folgende sind Edit-Felder:ename,evorname,estrasse,eort,eplz)

    Woran liegt es ?
    Was mache ich falsch ?
    Gibt es eine andere Möglichkeit eine SQL Abfrage im Borland Builder zu machen ?
    Wie kann ich die obere Fehlermeldung abfangen, so das eine MessageBox aufgeht ?
     
    ___________________________________________

    Gruss Mike

  2. #2
    Naddeldine Naddeldine ist offline Mitglied
    Registriert seit
    Oct 2004
    Beiträge
    12
    bin grad hier drüber gestolpert... beschäftige mich grad mit c#.NET und hatte dort eine ähnliche Fehlermeldung.
    Versuchs mal mit einem try - catch befehl.

    etwa wie dieser:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    try 
    {
    Query1->SQL->Add("Insert into dbo.adresse (Name,Vorname,Strasse,Ort,PLZ)");
    Query1->SQL->Add("ename->Text,evorname->Text,estrasse->Text,eort->Text,eplz->Text");
    Query1->ExecSQL();
    }
    catch ([size=2]Exception ex)
    {
    MessageBox.Show("Folgender Fehler ist aufgetreten: " + ex.Message);
    }
    [/size]

    So gehts in .net - musst halt mal gucken, wie oder ob du das umstellen musst. So bekommst du dann zumindest schon mal ne MessageBox und kannst den Fehler abfangen.

    Und dann überleg dir mal folgendes: Du fügst zweimal etwas zu deiner SQL-Abfrage hinzu... Häng es doch einfach mal hintereinander und überprüfe dann, was falsch läuft. Ich hab da den verdacht, dass vor die zweite Query noch etwas hinzumuss... gibts da nicht etwas wie
    Code :
    1
    
    Query1->SQL->Add(" VALUES (ename->Text,evorname->Text,estrasse->Text,eort->Text,eplz->Text)");
    in C++?
    Geändert von Naddeldine (27.10.04 um 16:03 Uhr)
     

  3. #3
    Supa Supa ist offline Mitglied Gold
    Registriert seit
    Jul 2004
    Ort
    Velbert
    Beiträge
    160
    ich glaub zwar nicht, das das hier nochmal jemand liest, oder das das thema noch aktuell ist, aber der fehler liegt darin, das du diese "ename->Text" (was warscheinlich sowas wie ein TEdit o.ä. ist, ne?) nicht einfach mit in den string des querys rein schreiben kannst!
    dafür brauchst du parameter:

    Code :
    1
    2
    3
    4
    5
    
     Query2->Close();
     Query2->SQL->Clear();
     Query2->SQL->Add("select * from projekte where kunde=:1;");
     Query2->ParamByName("1")->AsString=Edit1->Text;
     Query2->Open();

    das ist einfach mal ein ausschnitt aus einem meiner programme, vieleicht kannste anhand dessen nachvollziehen (oder vieleicht ist das ein ausreichender denkanstoß), wie dein code aussehen müsste!
    wichtig ist, dass du in der eigentlichen sql anweisung mit diesen variablen arbeiten muss z.b. ":1" oder ":test" .... wie auch immer. dann musst du mit "ParamByName("1")->AsString=..." oder meintwegen "ParamByName("test")->AsInteger" diesen variablen die werte zuweisen!

    wenn du's einmal raus hast, ist das ganz einfach...
    ... in diesem sinne...

    Edit:

    und das mit dem "Values(...)" was mein vorredner bereits angesprochen hat, darfst du natürlich bei deiner abfrage auch nicht vergessen
    Geändert von Supa (28.12.04 um 11:11 Uhr)
     

Ähnliche Themen

  1. Borland C++ Builder
    Von riccardo1 im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 02.05.08, 19:57
  2. Borland C++ Builder?
    Von Sinac im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 12.12.06, 16:11
  3. TQuery Insert Statement, Fehler bei Memo Feld
    Von Sapperlot im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 15.11.06, 13:30
  4. SQL-Abfrage über ODBC-Treiber (mit Borland C++-Builder)
    Von RSalfer im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 21.10.04, 12:43
  5. Borland c++ Builder
    Von js-mueller im Forum C/C++
    Antworten: 11
    Letzter Beitrag: 11.09.03, 12:57