Ecco un esempio di come connettersi ad un DATABASE ACCESS
con il C++ (utilizzando la tecnologia ADO della MICROSOFT)
P.S. ADO --> Funziona solo con Windows!!!
codice:Prima di utilizzare questo codice 1) creati un database con ACCESS e chiamalo "database" creati una tabella e chiamala "tabella" inserisci nella tabella 3 campi di tipo testo e chiamali "nome", "cognome" e "telefono" ora inserisci nella tabella 2 o 3 record. 2) la prima riga del codice "quella che importa la libreria msado15.dll è indispensabile per l'esecuzione di questo programma. Se durante la compilazione ti da ERRORE!!! voul dire che il PATH della libreria non è esatto (nel senso che sul tuo PC non la trova). basta allora ricercarla con la ricerca di windows, e modificare il path del codice.codice:#import "c:\Programmi\File comuni\SYSTEM\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile") #include <iostream.h> void main(void){ CoInitialize(NULL); try{ // Dichiaro un puntatore al recordset (utilizzando la tecnologia ADO) _RecordsetPtr pRst("ADODB.Recordset"); // Connessione al database ACCESS _bstr_t strCnn("DRIVER={Microsoft Access Driver (*.mdb)};UID=;DBQ=database.mdb"); // Query SQL (seleziono tutto il recordset) pRst->Open("SELECT * FROM tabella;", strCnn, adOpenStatic, adLockReadOnly, adCmdText); // Muovo il puntatore al recordset sul primo record pRst->MoveFirst(); // Itero fino alla fine del recordset while (!pRst->EndOfFile) { // Visualizzo a video il campo NOME cout<<(char*) ((_bstr_t) pRst->GetFields()->GetItem("nome")->GetValue())<<endl; // Visualizzo a video il campo COGNOME cout<<(char*) ((_bstr_t) pRst->GetFields()->GetItem("cognome")->GetValue())<<endl; // Visualizzo a video il campo TELEFONO cout<<(char*) ((_bstr_t) pRst->GetFields()->GetItem("telefono")->GetValue())<<endl<<endl; // Muovo il puntatore sul record successivo pRst->MoveNext(); } // Chiudo la connessione ADO pRst->Close(); } // Se si verifica un errore lo catturo catch (_com_error &e){ // ... E lo visualizzo a video (con tanto di descrizione) cout<<(char*) e.Description(); } ::CoUninitialize(); }

Rispondi quotando