Select the product you need help with
INFO: Pomocou ActiveX Data Objects (ADO) cez #import v VC ++ID článku: 169496 - Zobraziť produkty, ktorých sa tento článok týka. Na tejto stránkeSUHRNSmernica o #import v Visual C++ ponúka výkonné nový mechanizmus pre
manipuláciou serverov OLE. Pri použití s ActiveX Data Objects (ADO),
#Import môže zjednodušiť získanie vašich údajov. Tento článok sa zaoberá, čo je
potrebné využiť #import s ADO. DALSIE INFORMACIEPred môžete vytvoriť inštanciu akejkoľvek triedy vytvoril #importJe dôležité sa inicializovať OLE pred vytvorením všetky inštancie triedy vytvoril #import. Napríklad nasledujúci kód je v bezpečí, ako deklaruje #import inteligentné ukazovateľ, inicializuje OLE, a potom instantiates smart ukazovateľ:Neošetrená výnimka v [Program] (KERNEL32.DLL): 0XE06D7363 Microsoft C++ výnimku. Správne vykonávanie #importJe dôležité na vyvolanie ADO správne v programe, alebo môžete mať kompilátor chyby. Nasledujúci kód ukazuje správny spôsob použitia #import s Msado10.dll MSADO15.dll:Chyba ManipuláciaS ADO, môžu dostať chybu v HRESULT vrátil z metódu ADO môže dostať výnimku vznesené #import generované tried, a pre buď podmienka kolekcii ADO chyby môžu obývaných. S cieľom Získajte na chyby zbierky potrebujete platné pripojenie objekt. Pre viac informácií pozri článok v databáze Microsoft Knowledge Base:169498
(http://support.microsoft.com/kb/169498/EN-US/
)
INFO: Extrakcia informácie o chybách ADO v VC ++ s #importADO a Dbdaoint.hPokúsi zmiešajte ADO (pomocou #import) a MFC DAO alebo DAO SDK v súbore istého realizáciu takto:Vygeneruje nasledujúcich šesť chýb: Chyba C2011: "EditModeEnum": "enum" zadajte predefinovanie Chyba C2011: "LockTypeEnum": "enum" zadajte predefinovanie Chyba C2011: "FieldAttributeEnum": "enum" zadajte predefinovanie Chyba C2011: "DataTypeEnum": "enum" zadajte predefinovanie Chyba C2011: "ParameterDirectionEnum": "enum" zadajte predefinovanie Chyba C2011: "RecordStatusEnum": "enum" zadajte predefinovanie
#Import generuje dva súbory, Msado105.tlh a Msado15.tli z typelib obsiahnuté v rámci Msado15.dll. Štruktúra súboru .tlh môže rozdelené takto:
Dopredu odkazy a definície TYPEDEFDopredu odkazy a definície TYPEDEF sú vytvorené prostredníctvom uplatňovania struct __declspec(UUID("...")) na identifikátor GUID pre každé duálne rozhranie, rozhranie, a CoClass definované v zozname typelib.
...
struct __declspec(uuid("00000274-0000-0010-8000-00aa006d2ea4"))
/* dual interface */ _Connection;
...
struct __declspec(uuid("00000275-0000-0010-8000-00aa006d2ea4"))
/* interface */ ICADOConnection;
...
struct /* coclass */ Connection;
...
Inteligentné ukazovateľ TypeDef vyhláseniaPre rozhrania a duálne rozhranie, smart ukazovatele sú deklarované, ktoré ve?mi zjednodušuje použitím rozhrania:... _COM_SMARTPTR_TYPEDEF(_Connection, __uuidof(_Connection)); ... _COM_SMARTPTR_TYPEDEF(ICADOConnection, __uuidof(ICADOConnection)); ... Typ knižnice položiekToto zahŕňa akýkoľvek enumerované typy definované v zozname typelib, ako aj implementácia smart ukazovatele a typelib položiek:Zatiaľ čo si mohol zavolať, GetConnectionString alebo PutConnectionString, je naozaj zbytočné. Pretože ConnectionString je vlastnosť by ste referenčné takto: Môže byť skutočná realizácia GetConnectionString/PutConnectionString nájsť v súbore Msado15.tli. Keď príde čas na použitie objektu pripojenia vo vašom kód, použite inštancia inteligentné ukazovateľ pre duálne rozhranie definované v Msado15.tlh takto: Kde krčmy je zdroj údajov ODBC. #Import a výslovne volá Release()Výhodou #import je, že sa stará o AddRef, funkcie QueryInterface, a správa pre vás automaticky. Avšak, ak ste sa rozhodli začať volanie Release() výslovne, môžete vytvoriť problémy pre seba.V rámci _com_ptr_t je člen premennej, m_pInterface. #Import je veľmi tenký obal, nie je žiaden rozdiel s m_pInterface po objekt je skutočne uvoľnené verzus len odčitovacie svoj odkaz počítať bez skutočne ničí objektu. Explicitne volaním uvoľniť ()--bez radi sa pokúsi veľmi výslovne volajúci AddRef() na vyváženie it--#import uvoľniť objekt, ktorý neexistuje, vytváranie zaujímavé vedľajšie účinky a shazovat správanie. Najlepšie radu, ste nie AddRef() to (alebo aspoň nie je potreba), nezbavuje to buď. ODKAZY
182389
(http://support.microsoft.com/kb/182389/EN-US/
)
SÚBOR: Adovcbm.exe ADO 1.5 s #import a funkcia Getrows/záložky184968
(http://support.microsoft.com/kb/184968/EN-US/
)
SÚBOR: Adovcsp.exe dokazuje použitím uložené postupy s ADO186387
(http://support.microsoft.com/kb/186387/EN-US/
)
VZORKA: Ado2atl.exe vráti ADO rozhrania COM181733
(http://support.microsoft.com/kb/181733/EN-US/
)
SÚBOR: Adovcbtd.exe #import pomocou UpdateBatch a CancelBatch166112
(http://support.microsoft.com/kb/166112/EN-US/
)
PRB: Konflikt s EOF pri použití #import s ADO168354
(http://support.microsoft.com/kb/168354/EN-US/
)
INFO: Podkladových OLE a OLEDB poskytovateľ chyby sú vystavené prostredníctvom ADOVlastnostiID článku: 169496 - Posledná kontrola: 18. októbra 2011 - Revízia: 2.0
Strojovo preložené DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje. Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:169496
(http://support.microsoft.com/kb/169496/en-us/
)
| Preklady článku |




Späť na začiatok








