bigpoint Geschrieben 9. Januar 2003 Geschrieben 9. Januar 2003 Hallo, wenn man mit dem Visual Studio Assistent eine DB unterstützte Anwendung (OLEDB) erstellen will muß man unter anderen die Tabelle von DB angeben. Jetzt meine Frage, gibt es Möglichkeit auch mehrere Tabellen auswählen zu können und wenn ja wie denn ich habe alles ausprobiert und es funk leider nicht, ist es vielleicht nur irgend welche Einstellung Sache oder ist einfach Microsoft noch nicht so weit ;-)) Zitieren
Klotzkopp Geschrieben 9. Januar 2003 Geschrieben 9. Januar 2003 Der Anwendungsassistent kann deiner Anwendung nur eine Tabelle hinzufügen. Du kannst aber mit dem ATL-Assistenten weitere hinzufügen: Insert New ATL Object Category: Data Access Consumer (hab's hier leider nur auf Englisch) Zitieren
bigpoint Geschrieben 9. Januar 2003 Autor Geschrieben 9. Januar 2003 Einfügen Neues ATL-Objekt Datenzugriff Nutzer Deutsch So einfach ist es aber nicht ;-( Wenn ich nur mit dem VS-Assistent eine DB-Verbindung (OLEDB) erstelle und nichts programmiere kriege ich Laufzeit Fehler void Clala_ErsView::OnInitialUpdate() { m_pSet = &GetDocument()->m_lala_ErsSet; { CWaitCursor wait; HRESULT hr = m_pSet->Open(); if (hr != S_OK) { //Bei programm ausführen spriengt er hier rein AfxMessageBox(_T("Record set failed to open."), MB_OK); // Deaktivieren der Datensatzbefehle Nächster und Vorheriger, // da der Versuch, den aktuellen Datensatz ohne geöffnetes RecordSet // zu ändern, verursacht einen Absturz. m_bOnFirstRecord = TRUE; m_bOnLastRecord = TRUE; } } COleDBRecordView::OnInitialUpdate(); } [/PHP] Zitieren
Klotzkopp Geschrieben 9. Januar 2003 Geschrieben 9. Januar 2003 Welchen Wert hat hr nach dem Aufruf von Open? AtlTraceErrorRecords(hr); gleich nach dem if wäre auch gut. Zitieren
bigpoint Geschrieben 9. Januar 2003 Autor Geschrieben 9. Januar 2003 Manche dinge erledigen sich von selbst , frag mich nicht warum aber jetzt geht ohne was zu mache und der Wert ist „naturlich“ 0, aber wenn ich ATL hinzufüge so wie oben beschrieben und wieder nichts tue kriege ich wieder Fehler jetzt aber error C2371: '_Module' : Neudefinition; unterschiedliche Basistypen in der stdafx Datei :confused: // stdafx.h : Include-Datei für Standard-System-Include-Dateien, // oder projektspezifische Include-Dateien, die häufig benutzt, aber // in unregelmäßigen Abständen geändert werden. // #if !defined(AFX_STDAFX_H__41B45550_3E5A_463C_8A86_52F2B1B4F372__INCLUDED_) #define AFX_STDAFX_H__41B45550_3E5A_463C_8A86_52F2B1B4F372__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Selten verwendete Teile der Windows-Header nicht einbinden #include <afxwin.h> // MFC-Kern- und -Standardkomponenten #include <afxext.h> // MFC-Erweiterungen #include <afxdisp.h> // MFC Automatisierungsklassen #ifndef _AFX_NO_DB_SUPPORT #include <afxdb.h> // MFC ODBC-Datenbankklassen #endif // _AFX_NO_DB_SUPPORT #ifndef _AFX_NO_DAO_SUPPORT #include <afxdao.h> // MFC DAO-Datenbankklassen #endif // _AFX_NO_DAO_SUPPORT #include <afxdtctl.h> // MFC-Unterstützung für allgemeine Steuerelemente von Internet Explorer 4 #ifndef _AFX_NO_AFXCMN_SUPPORT #include <afxcmn.h> // MFC-Unterstützung für gängige Windows-Steuerelemente #endif // _AFX_NO_AFXCMN_SUPPORT #include <atlbase.h> extern CComModule _Module; #include <atlcom.h> #include <atldbcli.h> #include <afxoledb.h> #define _ATL_APARTMENT_THREADED #include <atlbase.h> //Sie können eine Klasse von CComModule ableiten und dies verwenden, wenn Sie //etwas überladen wollen. Ändern Sie aber nicht den Namen von _Module class Clala_ErsModule : public CComModule { public: LONG Unlock(); LONG Lock(); LPCTSTR FindOneOf(LPCTSTR p1, LPCTSTR p2); DWORD dwThreadID; }; extern Clala_ErsModule _Module; #include <atlcom.h> //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein. #endif // !defined(AFX_STDAFX_H__41B45550_3E5A_463C_8A86_52F2B1B4F372__INCLUDED_) [/PHP] Zitieren
Klotzkopp Geschrieben 9. Januar 2003 Geschrieben 9. Januar 2003 Ja, da habe ich gepatzt. Du kannst nur entweder den Assistenten verwenden, oder mit ATL DBConsumer-Objekte hinzufügen. Wenn du also eine Anwendung mit Zugriff auf unterschiedliche Tabellen brauchst, musst du wohl im Assistenten zunächst einmal die Datenbankunterstützung abstellen. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.