[Qt][SqLite]out of memory Unable to execute statement

Résolu/Fermé
Signaler
-
 Utilisateur anonyme -
bonjour,
je suis actuellement en train de développer un programme qui utilise une base de données sqlite.
seulement quand j'essaye de l'ouvrir sa va mais lorsque que je veux exécuter une requette simple je me retrouve avec cette erreur :"out of memory Unable to execute statement"

mon fichier de base de donnée est assez lourd ( ~7 mo) mais je ne pense pas que le problème vient de la.

je colle le contenu de ma fonction pour que vous puissiez y trouver une possible erreur.
QSqlDatabase sqlitedb;
         sqlitedb = QSqlDatabase::addDatabase("QSQLITE", "sqldbco");
         sqlitedb.setDatabaseName(db_file);
         QSqlQuery query_sqlitedb(sqlitedb);
         int valid = 0;
         if (sqlitedb.open())
             {
                    QMessageBox::information(this,"success","l'ouverture a reussi !");
                    if (query_sqlitedb.exec("SELECT * FROM chat"))
                    {
                        
                    QMessageBox::critical(this, "ok", "ok");

                    }
                    else
                    {
                        QSqlError err = query_sqlitedb.lastError();
                        QMessageBox::critical(this, "Fichier Invalide", "1" + err.text());
                        qDebug() << err.text();
                        valid = 1;
                    }
             }





j'espère que ce n'est pas trop compliquer a résoudre ... car je ne vois pas l'erreur que j'airais pu faire.
Merci de votre aide ...

4 réponses


POur finir j'ai trouvé...
j'ai tenter par hazard de faire un clear() avant de faire mes requette et la cela fonctionne ...
Mais je ne sais pas pourquoi ...
je vais juste faire quelque modification pour obtimiser mon code maintenant ...
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
89
Je ne connais pas sqlite, mais l'erreur "out of memory Unable to execute statement" désigne un dépassement de capacité .. dons pas assez de mémoire.
Comme en SQL, il faut probablement paramétrer une variable, type capacité mémoire tampon, à une valeur plus haute.
Regarde du côté des paramètres mémoire de la commande "query_sqlitedb.exec"

Je sais que le problème est du à un manque de memoir ...
Mais je n'avais pas pense à regarder si une variable de memoir existait ...
Je vais voir cela tout de suite et je te rien au courrant !

je n'ais pas trouver ... est ce que tu aurrais une autre idée ?