View Full Version : Visual studio c++ e ODBC
miondere
11-03-2004, 18:54
Premetto che sono alle primissime armi con visual studio 6.0
Volevo creare un programma che si possa connettere ad un database tramite la soluzione ODBC.
Mi sapreste indicare il codice per riuscire a connettermi al database e fare ad esempio un'operazione di lettura?
Grazie mille, ciao. :-)
miondere
12-03-2004, 21:45
Originariamente inviato da cionci
Ma usi MFC ?
Intendi MFC o ADO?
Se sono possibili solo queste due alternative sicuramente MFC, anche se non le ho mai usate, fino al momento ho scritto in c++ solo semplici programmi senza utilizzo di classi particolare, ma diciamo solo librerie "standard"
Grazie, ciao.
Questo è ADO: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmscusingadowithmicrosoftvisualc.asp
Se non vuoi utilizzare ADO ci sono i wrapper MFC per ODBC e gli ActiveX: http://forum.hwupgrade.it/showthread.php?s=&threadid=614529&highlight=ODBC
miondere
13-03-2004, 14:20
Originariamente inviato da cionci
Questo è ADO: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmscusingadowithmicrosoftvisualc.asp
Se non vuoi utilizzare ADO ci sono i wrapper MFC per ODBC e gli ActiveX: http://forum.hwupgrade.it/showthread.php?s=&threadid=614529&highlight=ODBC
code:--------------------------------------------------------------------------------
CDatabase db;
try
{
CString conn = _T("DRIVER=Microsoft Access Driver (*.mdb); DBQ=D:\\cStatDB\\cStats.mdb;");
db.OpenEx((LPCTSTR)conn,CDatabase::noOdbcDialog);
CMdb2 rs(&db);
CString sql = "SELECT * FROM Users;";
rs.Open(AFX_DB_USE_DEFAULT_TYPE, (LPCTSTR)sql);
if(!rs.IsEOF())
{
//nei dati pubblici della classe trovi
//tutti gli attributi della tabella Users
}
rs.Close();
db.Close();
}
catch(...)
{
AfxMessageBox("Errore DB");
}
--------------------------------------------------------------------------------
se ad esempio voglio selezionare dei record tramite una istruzione SQL (una volta ottenuta la connessione al database)
e visualizzare il risultato ottenuto come devo fare?
Il codice sopra fa una Select SQL...per la visualizzazione i dati li trovi nella parte pubblica della classe (CMdb2 in questo caso)..
miondere
13-03-2004, 18:27
E' possibile andare a creare dal c++ nell'esecuzione del programma la struttura di un nuovo database?
Usando l'istruzione SQL: CREATE TABLE ecc...ecc...
Oppure siamo obbligati ad usare le tabelle selezionate all'inizio?
In poche parole la mia domanda è: si può fare un programma in c++ che permetta la creazione di un nuovo database?
Ciao
Certo è possibile...
CDatabase db;
try
{
CString conn = _T("DRIVER=Microsoft Access Driver (*.mdb); DBQ=D:\\cStatDB\\cStats.mdb;");
db.Execute("CREATE TABLE....");
}
Guarda l'help della classe CDatabase sul Windows SDK...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.