1

こんにちは、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";

ありがとうハリス

4

1 に答える 1