Fehlermeldungen...
-
Hallo C++-Programmierer,
beim Kompilieren meines Programmes bekommeich folgende Fehlermeldungen:
--------------------Konfiguration: Updater - Win32 Debug--------------------
Kompilierung läuft...
UpdaterDlg.cpp
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(100) : error C2065: '_ConnectionPtr' : nichtdeklarierter Bezeichner
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(100) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'MyDB'
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(100) : error C2065: 'MyDB' : nichtdeklarierter Bezeichner
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(101) : error C2065: '_RecordsetPtr' : nichtdeklarierter Bezeichner
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(101) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'MyRS'
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(101) : error C2065: 'MyRS' : nichtdeklarierter Bezeichner
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(107) : error C2228: Der linke Teil von '.CreateInstance' muss eine Klasse/Struktur/Union sein
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(108) : error C2227: Der linke Teil von '->Open' muss auf Klasse/Struktur/Union zeigen
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(110) : error C2228: Der linke Teil von '.CreateInstance' muss eine Klasse/Struktur/Union sein
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(111) : error C2227: Der linke Teil von '->Open' muss auf Klasse/Struktur/Union zeigen
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(113) : error C2227: Der linke Teil von '->Close' muss auf Klasse/Struktur/Union zeigen
E:\SQLServer\EXE_C++\Updater\UpdaterDlg.cpp(114) : error C2227: Der linke Teil von '->Close' muss auf Klasse/Struktur/Union zeigen
Fehler beim Ausführen von cl.exe.Updater.exe - 12 Fehler, 0 Warnung(en)
Leider kann ich trotz MSDN nicht viel mit diesen Fehlern anfangen.
Hier der Code, welcher die Fehler verursacht:
void CUpdaterDlg::OnStart() { _ConnectionPtr MyDB; _RecordsetPtr MyRS; GetDlgItem(IDOK)->EnableWindow(FALSE); //Schaltfläche inaktiv MyDB.CreateInstance(__uuidof(_ConnectionPtr)); MyDB->Open("DSN=VSC51529FE","sa","","",NULL); //("DSN=VSC51529FE;UID=sa;PWD=","","",-1); MyRS.CreateInstance(__uuidof(_RecordsetPtr)); MyRS->Open("SELECT ComputerName FROM ServerList WHERE ServerKey = '1'",NULL,NULL,NULL,NULL); //("SELECT ComputerName FROM ServerList WHERE ServerKey = '1'",MyDb.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); MyRS->Close(); MyDB->Close(); }Vielleicht kann sich ja mal jemand erbarmen und mir eine Hilfe geben, da ich noch Anfänger in C++ bin.
Vielen Dank und Gruss
Brian
-
Hast du irgendwo eine msado??.dll importiert?
Wenn nicht, könnte daran liegen...
-
MFK schrieb:
Hast du irgendwo eine msado??.dll importiert?
Hallo MFK,
erstmal vielen Dank für die Hilfe.
Entschuldige bitte die dumme Frage.
Wie importiere ich diese Datei?Ich kenne mich in der Entwicklungsumgebung wirklich nicht aus.
Vielen Dank.
Gruss
Brian
-
Die Direktive muss in etwa so aussehen:
#import "C:\Programme\Gemeinsame Dateien\System\ado\msado15.dll" no_namespace rename("EOF", "EndOfFile")
Kann sein, dass der Pfad bei dir anders aussieht...
-
Hallo MFK,
ich habe jetzt die Zeile Code mit dem entsprechenden Pfad, welche auch auf meinem Rechner vorhanden ist, in die *Dlg.h eigefügt.
Leider kommen immer noch die gleichen Fehler.
Hast Du evtl. noch eine Idee oder vielleicht einen Sourcecode?
Gruss und Danke
Brian
-
Hallo MFK,
ich danke Dir sehr für die Hilfe.
Habe die Zeile jetzt in die *.cpp eigebunden und es funktioniert tatsächlich.Vielen Dank dafür!

Gruss
Brian