Mysql QSqlDatabase从表中删除所有行
嗨,我需要删除QSqlDatabase表中的所有行,我的代码看起来Mysql QSqlDatabase从表中删除所有行,mysql,qt,qsqlquery,qsqldatabase,Mysql,Qt,Qsqlquery,Qsqldatabase,嗨,我需要删除QSqlDatabase表中的所有行,我的代码看起来 QString dbName = QDir::currentPath()+"/DB"; QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName(dbName); if(db.open()){ QSqlQuery query(db); query.prepar
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();
}
谢谢
Haris在PyQt中,这个问题通过
query.exec('TRUNCATE my_table;')
解决,您不需要prepare()
只需执行TRUNCATE table fRecogtable
我也尝试过了,但它也不起作用(“从SQLITE_序列中删除,其中name='table_name'”``对我不起作用。
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";