QT中常用的增删查改CRUD操作:
我的测试DB中只有两个varchar型字段。适合方法传参形式crud
QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
/*
* @prjectName
* @brief 增
* @date 2020-12-17
*/
void ProjectManager::AddProject(QString Projectname)
{
db.setDatabaseName("myDB.db");
db.open();
QSqlQuery query;
query.prepare("INSERT INTO TABLE_PRO (PROJECT,TASK)"
"VALUES (:PROJECT, :TASK)");
query.bindValue(":PROJECT",Projectname);
query.exec();
}
/*
* @prjectName
* @brief (查询操作)
* @date 2020-12-17
*/
void ProjectManager::RefressProject()
{
db.setDatabaseName("myDB.db");
db.open();
QSqlQuery q;
q.exec("select PROJECT FROM TABLE_PRO");
while (q.next()) {
QString res = q.value("PROJECT").toString();
qDebug()<<res<<" ";
}
}
/*
* @prjectName
* @brief 改
* @date 2020-12-17
* @param 传入更改后的名字
*/
void ProjectManager::EditProject(QString oldName,QString newName)
{
db.setDatabaseName("myDB.db");
db.open();
QSqlQuery q;
q.prepare("update TABLE_PRO set PROJECT = :nPROJECT where PROJECT = :oPROJECT");
q.bindValue(":nPROJECT",newName);
q.bindValue(":oPROJECT",oldName);
q.exec();
}
/*
* @prjectName
* @brief 删
* @date 2020-12-17
*/
void ProjectManager::DeleteProject(QString proName)
{
db.setDatabaseName("myDB.db");
db.open();
QSqlQuery q;
q.prepare("delete from TABLE_PRO where "
"PROJECT = :PROJECT");
q.bindValue(":PROJECT",proName);
q.exec();
}