こんにちは、QSqlDatabase テーブルからすべての行を削除する必要があります。私のコードは、
QString dbName = QDir::currentPath()+"/DB";
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(dbName);
if(db.open()){
QSqlQuery query(db);
query.prepare("truncate fRecogtable"); // this not working
//query.prepare("Delete from fRecogtable"); //this working
if(!query.exec() )
qDebug() << "deletion failed";
query.clear();
db.close();
}
問題は、コマンドtruncate fRecogtable
がテーブルからレコードを削除しないことDelete from fRecogtable
です。truncate
自動増分フィールドをリセットする必要があるため、使用する必要があり ます。
何が問題になる可能性がありますか?
編集:
最後に、私は何とか仕事を得ることができました
query.prepare("Delete from fRecogtable");
if(!query.exec() )
qDebug() << "deletion failed";
query.clear();
query.prepare("DELETE FROM SQLITE_SEQUENCE WHERE name='fRecogtable'");
if(!query.exec() )
qDebug() << "deletion failed";
ありがとうハリス