CATEGORII DOCUMENTE |
Pentru a obtine informatii despre obiecte in colectii, se apeleaza functia membru GetXInfo a clasei corespunzatoare. Aceasta functie returneaza un obiect al unei structuri CDaoXInfo.
O structura tipica de informatii arata astfel :
struct CDaoDatabaseInfo
Notatiile "Primary", "Secondary", si "All" indica care din membrii structurii MFC DAO contin informatii cand este apelata o functie ca GetDatabaseInfo. Se poate specifica ca se doreste doar informatia primara, informatia primara si secundara, sau toata informatia. Unele structuri nu include nimic sub titulatura "All".
Obiectele celor mai multe clase MFC DAO contin colectii de obiecte subordonate. De exemplu, un obiect CDaoDatabase contine obiecte colectii de definitii de tabele, definitii de interogari si relatii. Se acceseaza obiectele dintr-o colectie DAO prin functiile membru GetXCount si GetXInfo ale clasei potrivite, unde X reprezinta Database, Filed, Index, Parameter, Query, Table, Relation sau Workspace. Urmatorul tabel listeaza colectiile de acces disponibile pentru fiecare clasa MFC.
Clasa |
Numara obiectele din colectie |
Primeste informatii despre obiectul specificat |
CDaoWorkspace |
GetDatabaseCount GetWorkspaceCount |
GetDatabaseInfo GetWorkspaceInfo |
CDaoDatabase |
GetTableDef GetRealtionCount GetQueryDefCount |
GetTableDefInfo GetRelationInfo GetQueryDefInfo |
CDaoTableDef |
GetFieldCount GetIndexCount |
GetFieldInfo GetIndexInfo |
CDaoQueryDef |
GetFieldCount GetParameterCount |
GetFieldInfo GetParameterInfo |
CDaoRecordset |
GetFieldCount GetIndexCount |
GetFieldInfo GetIndexInfo |
In general, se folosesc functiile GetXCount pentru a determina legatura superioara pentru a face loop prin intreaga colectie. La fiecare iteratie a loop-ului, se apeleaza functiile GetXInfo pentru a returna informatiile. Functiile GetXInfo returneaza o referinta la un obiect din clasa CDaoXInfo, care pot fi examinate. Fiecare clasa CDaoXInfo (o structura C++ - din punct de vedere tehnic) prezinta informatii diferite. Se furnizeaza un obiect de tip CDaoXInfo in al doilea parametru.
Urmatorul tabel listeaza clasele CDaoXInfo :
Obiect |
Clasa (structura) |
Baza de date |
CDaoDatabaseInfo |
Camp |
CDaoFieldInfo |
Index |
CDaoIndexInfo |
Index de camp |
CDaoIndexFieldInfo |
Parametru |
CDaoParameterInfo |
Definitie de interogare |
CDaoQueryDefInfo |
Relatie |
CDaoRelationInfo |
Relatie de camp |
CDaoRelationFieldInfo |
Definitie de tabela |
CDaoTableDef |
Spatiu de lucru |
CDaoWorkspaceInfo |
Un obiect aditional DAO, obiectul de eroare, este manipulat diferit in MFC, si nu trebuie folosita modalitatea de lucru descrisa in acest paragraf pentru astfel de obiecte. Aceste obiecte sunt tratate de clasa CDaoException.
Exemplul urmator arata cum se parcurge colectia QueryDefs a unui obiect CDaoDatabase si se obtine informatie despre acesta colectie. Exemplul cauta in colectia QueryDefs o interogare particulara denumita "Senior Students", astfel ca se poate extrage orice altfel de informatie despre inregistrare - cum ar fi sirul SQL sau tipul interogarii.
// pDB este un pointer la CDaoDatabase
// Aloca un CDaoQueryDefInfo obiect pentru
// informatii
CDaoQueryDefInfo queryinfo;
int nQueries = pDB->GetQueryDefCount( );
for ( int i = 0; i < nQueries; i++ )
Codul itereaza intreaga colectie, returnand informatii despre fiecare obiect pana cand interogarea dorita este gasita.
Constante care specifica nivelul de informatii dorit
Sintaxa functiei membru GetQueryDefInfo folosita in exemplul de mai sus este :
void GetQueryDefInfo( int nIndex, CDaoQueryDefInfo& queryinfo, DWORD dwInfoOptions = AFX_DAO_PRIMARY_INFO );
In exemplu, parametrul informatiei despre interogare returneaza o referinta la un obiect CDaoQueryDefInfo. Exemplul accepta valoare predefinita AFX _DAO_PRIMARY_INFO pentru parametrul dwInfoOptions, care specifica ce informatie sa fie returnata. Urmatorul tabel listeaza optiunile in acest caz.
Constanta |
Explicatie |
AFX_DAO_PRIMARY_INFO |
Primul nivel de informatie; in cazul definirii de interogari, aceasta include numele si tipul |
AFX_DAO_SECONDARY_ INFO |
Primul nivel de informatie plus al doilea nivel de informatie; in cazul definirii de interogari, aceasta include data de creare, data ultimei modificari, reutururi de inregistrari, posibilitate de reimprospatare a datelor. |
AFX_DAO_ALL_INFO |
Primul si al doilea nivel de informatie plus informatie aditionala; acesta include SQL, Connect si ODBC Timeout. |
Explicatiile prezentate corespund datelor membru potrivite structurilor CDaoXInfo si mai mult deact atat, proprietatilor DAO.
De notat ca nivelele de informare sunt cumulative : daca se specifica un nivel inalt, cum ar fi al doilea sau toate, se primesc si nivelele inferioare de informatie.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1355
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved