J'ai deux connexions SQLite et exécuter comme ci-dessous (CMyDatabase est une classe dérivée de sqlite3):sqlite3: Impossible de fermer en raison de déclarations non finalisés
CMyDatabase* dbConnection1 = new CMyDatabase;
dbConnection1->OpenDataBase(CQCommon::GetModulePath() + L"test.db");
CMyDatabase* dbConnection2 = new CMyDatabase;
dbConnection2->OpenDataBase(CQCommon::GetModulePath() + L"test.db");
dbConnection2->BeginTrans();
CString updateStr("update ImageAlbumEntry set ImageID = 2 where ID = 1;");
dbConnection2->ExecNoQuery(updateStr);
CString queryStr("select ImageID from ImageAlbumEntry where ID = 1;");
CppSQLite3Query queryResult;
dbConnection2->ExecQuery(queryStr, queryResult);
cout<<queryResult.getIntField(0)<<endl;
dbConnection2->EndTrans(TRUE);
dbConnection2->CloseDataBase();
dbConnection1->CloseDataBase();
Maintenant, quand j'invoquez dbConnection1-> CloseDatabase(). J'ai rencontré l'erreur "Incapable de fermer en raison d'instructions non finalisées". Quelqu'un peut-il expliquer la raison et résoudre la méthode du problème? Je vous remercie!
Veuillez reformater votre question avec vos commandes dans un bloc de code pour améliorer la lisibilité – Noah