以下是一个示例代码,展示了如何使用Qt C++和SQLite封装一个类,并具备更新一条记录的功能:
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
class JblxNzznqTable {
public:
JblxNzznqTable() {
// 连接到 SQLite 数据库
m_database = QSqlDatabase::addDatabase("QSQLITE");
m_database.setDatabaseName("database.db");
if (!m_database.open()) {
qDebug() << "无法打开数据库连接";
}
}
~JblxNzznqTable() {
m_database.close();
}
void updateRecord(int id, const QString& factorySampleNo, const QString& jxwy_sj,
const QString& jxwy_sc, const QString& jxwy_bc,
const QString& jxwy_cc, int jxwy_pd) {
QSqlQuery query(m_database);
query.prepare("UPDATE jblx_nzznq SET FactorySampleNo=?, "
"jblx_nzznq_jxwy_sj=?, jblx_nzznq_jxwy_sc=?, "
"jblx_nzznq_jxwy_bc=?, jblx_nzznq_jxwy_cc=?, "
"jblx_nzznq_jxwy_pd=? WHERE id=?");
query.addBindValue(factorySampleNo);
query.addBindValue(jwxw_sj);
query.addBindValue(jwxw_sc);
query.addBindValue(jwxw_bc);
query.addBindValue(jwxw_cc);
query.addBindValue(jwxw_pd);
if (!query.exec()) {
qDebug() << "更新记录失败:" << query.lastError().text();
}
}
private:
QSqlDatabase m_database;
};
int main(int argc, char *argv[]) {
QCoreApplication a(argc, argv);
JblxNzznqTable table;
// 调用更新一条记录的方法
table.updateRecord(1, "sampleNo2", "sj2", "sc2", "bc2", "cc2", 1);
return a.exec();
}
请注意,此示例中的数据库文件名为”database.db”。你可以根据自己的需要更改数据库文件名和路径。还要确保在项目中引入了必要的Qt模块,并正确安装了SQLite驱动程序。
内容由零声教学AI助手提供,问题来源于学员提问