SQL String, Abfrage auf DB
-
okay ich schick sie dir
(bin aber auch nur Anfänger... )
ist doch egal! Vielleciht findest du ja den Fehler
-
hast dus schon geschickt
-
soeben weggeschickt
-
hi
kann mir jemand sagen woran das liegt.
beim compilieren kommt
"Unrecogniced database format C:\usw."danke
-
Hast du den Pfad mit \\ geschrieben????
"C:\\VERZEICHNIS\\db2.mdb"
-
bei mir geht der hier raus:
m_pDB->Open(_T("C:\\DB.mdb"));ich schätze mal du kannst nicht einfach so eine DB öffnen, sonder musst das mit dem ODBC -Administrator machen oder
so
m_strConnection = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DB.mdb");
kann mich aber auch irren
-
Alo ich habe es jetzt hinbekommen
mit
CString sqlString; sqlString.Format(_T("SELECT Zahl ,Text ,Textt FROM Tabelle1 WHERE Zahl = \'%s\' "), nummer); m_pRS->Open(AFX_DAO_USE_DEFAULT_TYPE,sqlString);
geht es einwandfrei! es lag nicht daran sondern dass problem war dass, der Datentyp für Text oder Zeichen in der Datenbank ein anderer als der Datentyp in C++ war.
Die Lösung für diese Pronlem findet man hier
http://www.c-plusplus.net/forum/viewtopic.php?t=49245&highlight=getfieldpstr
Dankr Trotzdem für eure hilfe !!!
Mfg tommy005
-
Hi Leutz,
ich bins nochmal!
Also ich habe des zwar so hinbekommen wie ich des wollte aber jetzt habe ich bemerkt dass meine Abfrage falsch ist!!Ich muss nicht nur Zahl sondern auch einen text überprüfen!
mein bisheriges SQL Statement
sqlString.Format(_T("SELECT Zahl ,Text ,Textt FROM Tabelle1 WHERE Zahl = \'%s\' "), nummer);
muss also noch erweitert werden! kann mir jemand bei der Syntax helfen??
mit
sqlString.Format(_T("SELECT Zahl ,Text ,Textt FROM Tabelle1 WHERE Zahl = \'%s\' AND Text = \'%s\')", nummer,text);
geht es nicht.
Danke im Voraus.
-
Hast du es schon mal mit Klammern versucht?
-
wenn ich die folgende Syntax verwende :
sqlString.Format(_T(("SELECT Zahl,Text,Textt FROM Tabelle1 WHERE Zahl = \'%s\'",nummer)+( " AND Text = \'%s\' ", Text) ))
Bringt er die Fehlermeldung:
Die SELECT-Anweisung schließt ein reserviertes Wort oder einen Argumentnamen eine, das/der falsch, mit falscher Zeichensetzung oder überhaupt nicht eingegeben wurde