La QSqlQuery non viene processata
-
wrote on 13 May 2019, 14:02 last edited by
Ciao ho un problema sulla Query
Essendo un primo programma sono stato un po' confusonario
Apro un file di testo e lo associo ad un oggetto Textstream
Per una serie di necessità separo il file in una string list
Associo l'oggetto TextStream ad un nuovo file che salverà le modifiche
Prelevo le stringhe dalla lista e compongo una query,
Il database in SQL lo ho aperto .
A questo punto faccio questa sequenzaQSqlQuery disattivazione(mDatabase); disattivazione = mDatabase.exec(fileDiTesto->readAll()); disattivazione.exec();
Eseguo il tutto e mi esce questo messaggio
"QODBCResult::exec: No statement handle available"
E ovviamente la query non funziona .
Cosa posso fare? -
wrote on 13 May 2019, 18:40 last edited by
Cosa contiene
fileDiTesto->readAll()
? -
wrote on 13 May 2019, 23:08 last edited by
È un Qtextstream che contiene tutta la query
-
wrote on 14 May 2019, 07:34 last edited by VRonin
ok, mi spiego meglio:
const QString contenuti = fileDiTesto->readAll(); qDebug() << "Query: " << contenuti; QSqlQuery disattivazione(mDatabase); disattivazione.prepare(contenuti); if(disattivazione.exec()) qDebug() << "Successo";
Cosa stampa?
-
wrote on 14 May 2019, 08:27 last edited by
Risolto. Avevi ragione, non stampava nulla. Infatti prima di queste righe avevo messo la visualizzazione del contenuto dell'oggetto Qtextstream in un browser per essere sicuro del testo. Non sapevo che usando la funzione readAll svuotasse l'oggetto QtextStream. Quindi cambio la domanda, mi daresti un'idea su come conservare il contenuto in un oggetto QTextStream?
-
Risolto. Avevi ragione, non stampava nulla. Infatti prima di queste righe avevo messo la visualizzazione del contenuto dell'oggetto Qtextstream in un browser per essere sicuro del testo. Non sapevo che usando la funzione readAll svuotasse l'oggetto QtextStream. Quindi cambio la domanda, mi daresti un'idea su come conservare il contenuto in un oggetto QTextStream?
wrote on 14 May 2019, 09:30 last edited by@Polly said in La QSqlQuery non viene processata:
funzione readAll svuotasse l'oggetto QtextStream.
Non lo svuota, muove il cursore piu' avanti alla fine del file.
fileDiTesto->device()->seek(0);
riporta il cursore all'inizio cosi' puoi rileggerlo -
wrote on 14 May 2019, 10:07 last edited by
Ahhhhhh. Ecco è un contenitore. Grazie sei stato molto utile
2/7