Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [C/C++] Connettersi ad un DataBase MySql

    Come da titolo...
    Come faccio?
    Mi fate un esempio di script? Teoria non ci capisco granchè...
    Anche se esegue solo la connessione senza fare nessuna SELECT, INSERT etc.
    Il PHP & MySql li conosco benissimo.

    Grazie



  2. #2

  3. #3
    ...Terrible warlords, good warlords, and an english song

  4. #4
    http://forum.html.it/forum/showthre...threadid=540241
    Qui c'è scritto solo come connettersi ad un Database Access!!
    Io voglio connettermi a quello MySql :P

  5. #5
    gli esempi che ti ho postato, funzionano con qualsiasi database...
    (il codice C/C++ per connettersi ad ACCESS o MySQL o ORACLE che ho utilizzato negli esempi, è standard)

    cambia solo il DSN che nel tuo caso, dovrà puntare ad un database MySQL invece che ad un database Access.

    P.S. altro discorso, se utilizzi Linux... (i miei esempi sono per sistemi windows)
    ...Terrible warlords, good warlords, and an english song

  6. #6
    Puoi spiegarti meglio?
    Sorry

  7. #7
    qua c'è scritto come creare un DSN (che punta al database mysql)
    http://forum.html.it/forum/showthrea...hreadid=502964

    per il resto... il codice è commentato...

    Che compilatore/ambiente/sistema stai utilizzando?
    ...Terrible warlords, good warlords, and an english song

  8. #8
    Dev-Cpp (ultima versione; italiano)
    Windows 2000 Professional Service Pack 3 (italiano)

  9. #9
    Installati i Drivers ODBC per MySql; creato il DSN, funziona!

    Ora ecco il codice:
    codice:
    #import "c:\Programmi\File comuni\SYSTEM\ADO\msado15.dll" no_namespace rename("EOF","EndOfFile")
    
    #include <iostream>
    #include <cstdio>
    using namespace std;
    
    int main(int argc, char* argv[]){
        
        // Inizializzo la libreria COM prima di utilizzare le sue funzioni. 
        CoInitialize(NULL);
    
        // Costrutto 'try - catch' se si verifica un eccezione (exception) con 'catch' la "catturo"
        try{
    	
            // Dichiaro un puntatore al recordset (utilizzando la tecnologia ADO)
            _RecordsetPtr pRst("ADODB.Recordset");
    		
    	// Stringa di connessione al database ACCESS
            _bstr_t strCnn("Provider=MSDASQL; Data Source=prova; Database=test; User Id=; Password=; Security Info=True");
            
            // Query SQL (seleziono tutto il recordset presente nella tabella)
            pRst->Open("SELECT * FROM forum_members;", strCnn, adOpenStatic, adLockReadOnly, adCmdText);
            
    	// Muovo il puntatore al recordset sul primo record	 
            pRst->MoveFirst();
            
    	// Itero fino alla fine del recordset (<-- totale dei record presenti nella tabella)
            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 connessione al recordset
            pRst->Close();
    
        }       
        
        // Se si verifica un errore lo catturo
        catch (_com_error &exception){
            
    	// ... E lo visualizzo a video (con tanto di descrizione)
            cout<<"Errore: "<<(char*) exception.Description()<<endl;
        
        }   
        
        // libero la memoria utilizzata da COM 
        CoUninitialize();
    	
        return(0);
    	
    }
    Quando lo compilo mi dà una serie di errori:
    main.cpp:1:2: warning: #import is obsolete, use an #ifndef wrapper in the header file
    main.cpp:1:59: warning: extra tokens at end of #import directive
    In file included from main.cpp:1:
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: stray '\220' in program
    In file included from main.cpp:1:
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1:4: warning: null character(s) ignored
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: stray '\3' in program
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1:6: warning: null character(s) ignored
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: stray '\4' in program
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1:10: warning: null character(s) ignored
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: stray '\377' in program
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: stray '\377' in program
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1:15: warning: null character(s) ignored
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: stray '\270' in program
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1:18: warning: null character(s) ignored
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: parse error before `@' token
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1:26: warning: null character(s) ignored
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: stray '\340' in program
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1:62: warning: null character(s) ignored
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: stray '\16' in program
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: stray '\37' in program
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: stray '\272' in program
    c:/Programmi/File comuni/SYSTEM/ADO/msado15.dll:1: stray '\16' in program
    Questi sono solo 1/500 di tutti gli errori :P

    Ripeto che utilizzo Dev-C++ con Windows 2000 Professional Service Pack 3

    In C:\Programmi\File comuni\SYSTEM\ADO la libreria msado15.dll esiste.

    Cosa devo fare?



  10. #10
    Utente di HTML.it L'avatar di pixer
    Registrato dal
    Oct 2000
    Messaggi
    614
    Originariamente inviato da Johnny_Depp
    cambia solo il DSN che nel tuo caso, dovrà puntare ad un database MySQL invece che ad un database Access.
    MySQL ha una libreria propria per gestire le connessioni, ed è preferibile usare quella.

    libmysql/mysql++
    http://www.mysql.com/downloads/api-mysql++.html
    MySQL Worker - The OpenSource Multiplatform MySQL database Administrator (C++ powered)
    .:[ It resumes the development !! ]:.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.