Connettersi a un database MySQL con le librerie Qt senza build del driver

« Older   Newer »
 
  Share  
.
  1.  
    .
    Avatar

    Member

    Group
    Administrator
    Posts
    316

    Status
    Offline
    Normalmente è consigliato fare il build da soli del driver che Qt mette a disposizione. Molto spesso però ci sono problemi. Personalmente non sono mai riuscito a fare il build di questo maledetto driver. La documentazione ufficiale a grosse lacune su questo argomento, nonstante questa sia un'operazione delicata. Ho seguito alla perfezione tonnellate di guide per fare il build e altrettante guide per risolvere gli errori (ho perso il conto ma a occhio e croce avrò letto più di 40 guide diverse, in inglese e non) ma nulla.
    Dopo svariate ore di tentativi stavo per abbandonare quando PER PURO CASO riesco a effetuare questa benedetta connessione con il database remoto. Dunque ho deciso di condividere la soluzione su come fare nella risposta qui in basso :)

    Ok, ecco allora la guida passo per passo su come agire, è molto semplice:

    1. Seguite i passaggi di questo video: Video
    (scaricate ODBC e configuratelo come mostrato, è molto intuitivo)

    2. Crea/Apri il tuo progetto Qt

    3. Aggiungi al file .pro la seguente linea: QT += sql

    4. Scrivete il codice seguente (ovviamente dovete cambiare hostname, username, ecc.. i miei parametri sono solo un esempio):

    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3", "Database"); // MOLTO IMPORTANTE INSERIRE "QODBC3" E NON "QODBC"
    db.setHostName(qualcosa.iltuohost.com);
    db.setUserName(miousername);
    db.setDatabaseName(mionomedatabase);
    db.setPassword(miapassword);
    if(db.open()){qDebug()<<"Database aperto!";}
    else{qDebug() << db.lastError().text();}

    5. Se avete seguito tutti i passaggi provate a eseguire il programma e vi dovrebbe apparire "Database aperto!" nella finestra dell' output: avete connesso il vostro programma al vostro database! E senza fare nessun tipo di build o passaggio complicato!

    Ora vi trovare nel codice l'oggetto db (che rappresenta ovviamente il database) su cui poter lavorare, per ottenere i vostri dati, manipolare le tabelle, ecc...


    Personalmente trovo molto grave avere questo tipo di lacune nella documentazione ufficiale di librerie come Qt..
    Spero possa esservi utile, se qualcuno l'avesse scritta prima di me avrei evitato di buttare molte ore in guide inutili.
    Di seguito il mio post aperto su Stackoverflow per aiutare anche la loro comunità con questo fastidioso problema: http://stackoverflow.com/questions/4153348...gh-odbc-without

    Edited by Odle098 - 25/2/2017, 22:34
     
    .
0 replies since 17/1/2017, 21:03   202 views
  Share  
.