Select the product you need help with
Information: Verwenden ActiveX Data Objects (ADO) über # Import in VC++Artikel-ID: 169496 - Produkte anzeigen, auf die sich dieser Artikel bezieht Auf dieser SeiteZusammenfassungDie # Import-Direktive in Visual C++ bietet einen leistungsfähigen neuen Mechanismus zum Bearbeiten von OLE-Server. Mit ActiveX Data Objects (ADO) verwendet, vereinfachen die # Import Ihrer Daten abrufen. Dieser Artikel beschreibt was # Import mit ADO nutzen erforderlich ist. Weitere InformationenBevor Sie instanziieren alle Klassen erstellt durch # ImportEs ist wichtig OLE initialisieren, bevor Sie alle Instanzen von Klassen, die durch # Import erstellt erstellen. Der folgende Code ist z. B. sicher, es einen intelligenter Zeiger # Import deklariert, initialisiert OLE und instanziiert intelligenten Zeiger:Nicht behandelte Ausnahme in [Programme] (Kernel32.dll): 0xE06D7363 Microsoft C++-Ausnahme. Richtige Implementierung von # ImportEs ist wichtig, ADO korrekt in Ihrem Programm aufrufen, oder Sie können Compilerfehler über. Der folgende Code veranschaulicht, wie von # Import mit Msado10.dll die MSADO15.dll ordnungsgemäß:FehlerbehandlungMit ADO Sie möglicherweise eine Fehlermeldung in das von einer ADO-Methode zurückgegebene HRESULT, erhalten Sie möglicherweise eine Ausnahme von # Import generierten Klassen und entweder Bedingung kann ADO Errors-Auflistung aufgefüllt werden. Um bei der Errors-Auflistung abgerufen werden, benötigen Sie eine gültige Connection-Objekt. Weitere Informationen finden Sie in der folgenden Artikel der Microsoft Knowledge Base:169498
(http://support.microsoft.com/kb/169498/EN-US/
)
INFO: Extrahieren Fehlerinformationen aus ADO in VC++ mit # ImportADO und Dbdaoint.hVersucht, ADO (über # Import) und MFC-DAO- oder das DAO SDK in der gleichen Implementierungsdatei mischen Sie wie folgt:Die folgenden sechs Fehler generiert: Fehler C2011: 'EditModeEnum': 'Enumeration' Typneudefinition Fehler C2011: 'LockTypeEnum': 'Enumeration' Typneudefinition Fehler C2011: 'FieldAttributeEnum': 'Enumeration' Typneudefinition Fehler C2011: 'DataTypeEnum': 'Enumeration' Typneudefinition Fehler C2011: 'ParameterDirectionEnum': 'Enumeration' Typneudefinition Fehler C2011: 'RecordStatusEnum': 'Enumeration' Typneudefinition
# Import generiert zwei Dateien, Msado105.tlh und Msado15.tli aus der Typbibliothek enthaltenen msado15.dll. Die Struktur der TLH-Datei kann wie folgt aufgeteilt werden:
Forward Verweise und TypdefinitionenForward Verweise und Typdefinitionen werden mithilfe der Struktur __declspec(uuid("...")) auf der GUID für alle Dual Interface, Schnittstelle, erstellt und CoClass in der Typbibliothek definiert.
...
struct __declspec(uuid("00000274-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Connection;
...
struct __declspec(uuid("00000275-0000-0010-8000-00aa006d2ea4"))
/* interface */ ICADOConnection;
...
struct /* coclass */ Connection;
...
Intelligente Zeiger TypeDef-DeklarationenFür Schnittstellen und duale Schnittstellen intelligente Zeiger werden deklariert, die wird erheblich vereinfacht mithilfe der Benutzeroberfläche:... _COM_SMARTPTR_TYPEDEF(_Connection, __uuidof(_Connection)); ... _COM_SMARTPTR_TYPEDEF(ICADOConnection, __uuidof(ICADOConnection)); ... Typ-Bibliothek ObjekteDies umfasst alle Enumerationstypen, die in der Typbibliothek als auch Implementierung der intelligenten Zeigern und Typelib-Elemente definiert:Während Sie GetConnectionString oder PutConnectionString aufrufen konnte, ist es eigentlich nicht erforderlich. Da eine Eigenschaft ConnectionString würden Sie wie folgt verweisen: Die eigentliche Implementierung GetConnectionString-PutConnectionString finden Sie in der Datei Msado15.tli. Wenn das Verbindungsobjekt in Ihrem Code verwenden, würden Sie eine Instanz des intelligenten Zeiger für die duale Schnittstelle im Msado15.tlh wie folgt definiert verwenden: Wo ist Pubs eine ODBC-Datenquelle. # Import und explizites Aufrufen von Release()Der Vorteil von # Import ist, dass es QueryInterface, AddRef und Release für Sie automatisch übernimmt. Wenn Sie explizit aufrufen von Release() starten möchten, können Sie jedoch Probleme für sich selbst erstellen.Eine Variable, Member M_pInterface ist innerhalb _com_ptr_t. # Import einer sehr einfachen Wrapper ist, macht es keine Unterscheidung mit M_pInterface, nachdem das Objekt im Vergleich zu nur dekrementiert den Verweiszähler ohne das Objekt zu zerstören tatsächlich freigegeben ist. Durch Aufrufen von explizit freigeben versucht ()--ohne sehr explizit aufrufen AddRef() zum Ausgleichen von es--# Import gladly, ein Objekt freigeben, die nicht existiert, Erstellen von interessanten Nebeneffekte und abstürzenden Verhalten. Empfohlene Empfehlung haben nicht AddRef() er (oder zumindest nicht erforderlich,), nicht es entweder. Informationsquellen
182389
(http://support.microsoft.com/kb/182389/EN-US/
)
Datei: Adovcbm.exe ADO 1.5 mit # Import und GetRows-Lesezeichen 184968
(http://support.microsoft.com/kb/184968/EN-US/
)
Datei: Adovcsp.exe demonstriert die Verwendung von gespeicherten Prozeduren mit ADO 186387
(http://support.microsoft.com/kb/186387/EN-US/
)
Beispiel: Ado2atl.exe gibt die ADO-Schnittstellen aus COM 181733
(http://support.microsoft.com/kb/181733/EN-US/
)
Datei: Adovcbtd.exe # Import mit UpdateBatch und CancelBatch 166112
(http://support.microsoft.com/kb/166112/EN-US/
)
PRB: Konflikt mit EOF beim Verwenden von # Import mit ADO 168354
(http://support.microsoft.com/kb/168354/EN-US/
)
INFO: Zugrunde liegenden OLE und OLEDB-Provider Fehler werden durch ADO Exposed EigenschaftenArtikel-ID: 169496 - Geändert am: Mittwoch, 2. März 2005 - Version: 3.2 Die Informationen in diesem Artikel beziehen sich auf:
Maschinell übersetzter Artikel Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten. Den englischen Originalartikel können Sie über folgenden Link abrufen: 169496
(http://support.microsoft.com/kb/169496/en-us/
)
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
| SPRACHE AUSWÄHLEN |




Zum Anfang








