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();
}