Borland c++ builder 2006 , MySql 5.1, dbexpress; Probleme mit der TSQLQuery Componente
-
Hallo,
ich möchte mit dem Borland c++ Builer 2006 Prof eine Mysql V5.1 Anwendung schreiben, die mit dbexpress arbeitet.
Habe bereits die dbexpress um den Treiber mit OpenMySQL50(dbxopenmysql50.dll)
aktualisiert und der Zugriff funktiert auch.
Wenn ich folgende Abfrage erstelle, die auf nur eine Spalte beruht(SELECT id FROM tblTest;), dann habe keine probleme.
Wenn ich aber mehr Spalten in der SQL-Anweisung angebe, (SELECT vornahme, id FROM tblTest;) dann kommt die Fehlermeldung "SQLQuery1: Feldname fehlt." oder aber es kommt die Meldung,das der der Feldname nicht finden kann.Suche seit Stunden im Internet für eine Lösung
Ich freue mich, wenn mir jemand helfen könnte.
Vielen Dank im Voraus.
Gruss nettekov
-
nettekov schrieb:
(SELECT vornahme, id FROM tblTest;)
-
Hallo Jansen,
ich weiss, vornahme ist falsch geschrieben, die Spalte ist aber auch so in der Tabelle(tblTest) definiert. (SELECT vornahme, id FROM tblTest;)
Was du schonmal ein ähnliches Problem gehabt?
Gruß nettekov
-
Wie sieht denn der komplette relevante Codeabschnitt aus (Query füllen, ausführen, auswerten)?
-
Ich habe einbfach in eine neue VCL-Formular anwendung erstellt.
Auf dem Formular habe folgende komponenten eingefügt.- TSQLConnection SQLConnenction1 (wurde hier auch schon mit der neue DLL
aktualisiert: dbxopenmysql50.dll). Verbindung zum MYsql funktioniert einwandfrei, sowohl in der Entwurfsansicht als auch später im Programm.- TSQLQuery SQLQuery1 :
SQLQuery ist über SQLConnection mit der SQLConnection1 verlinkt.
Über den Objektinspektor gebe ich in der Eigenschaft SQL den SQL-Befehl
ein und wenn ich jetzt mit AActive den SQL-Befehl senden will bekomme
ich die Probleme-
SELECT vornahme, id FROM tblTest ---> SQLQuery: Feldname fehlt.
SELECT id FROM tblTest ---> Funktioniert.Habe auch mit nach der Fehleranweisung:'SQLQuery: Feldname fehlt.' kein Erfolg.
Weiter habe ich noch ein Button1 und ein Memofeld eingefügt, um dies auch säter im Programm zuz testen.
Hier ist der Quellcode zum Button:void __fastcall TForm1::Button1Click(TObject *Sender) { SQLConnection1->LoginPrompt = false; SQLConnection1->Connected = true; SQLQuery1->SQL->Clear(); SQLQuery1->SQL->Add("SELECT vornahme, id FROM tblTest;"); SQLQuery1->Open(); SQLQuery1->First(); while( SQLQuery1->Eof == false ) { int i=SQLQuery1->Fields->Count; Memo1->Lines->Add( SQLQuery1->FieldByName("vornahme")->AsString ); SQLQuery1->Next(); } }
Gibt es vielleicht ein eine Andere MySql-Zugriffkomponente für den c++Builder 2006? Ich möchte einfach nur ein paar SELECT, INSERT, UPDATE oder DELETE Befehlt versenden können.
Viele Dank
Gruss nettekov