上一篇
📢 最新动态
尽管Qt6已发布多年,但截至2025年7月,仍有大量工业设备、嵌入式系统使用Qt4进行开发,SQLite因其轻量级和零配置特性,依然是Qt4开发者的首选数据库!如果你是维护旧项目或学习底层原理的新手,这篇教程就是为你量身定制的✨
#include <QSqlDatabase> #include <QSqlQuery> #include <QDebug>
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("MyDatabase.db"); // 数据库文件名 if (!db.open()) { qDebug() << "❌ 数据库连接失败:" << db.lastError().text(); return; }
💡 小技巧:如果MyDatabase.db
不存在,Qt4会自动创建它!
用QSqlQuery
执行任意SQL语句:
QSqlQuery query; if (!query.exec("CREATE TABLE IF NOT EXISTS Users (" "id INTEGER PRIMARY KEY AUTOINCREMENT, " "name TEXT NOT NULL, " "age INT)")) { qDebug() << "❌ 创建表失败:" << query.lastError().text(); }
📌 注意:IF NOT EXISTS
避免重复创建报错。
query.prepare("INSERT INTO Users (name, age) VALUES (?, ?)"); query.addBindValue("Qt大神"); query.addBindValue(25); if (!query.exec()) { qDebug() << "❌ 插入数据失败:" << query.lastError().text(); }
🎯 优化:使用prepare
+bindValue
防止SQL注入!
query.exec("SELECT * FROM Users"); while (query.next()) { qDebug() << "👤 ID:" << query.value(0).toInt() << "| 姓名:" << query.value(1).toString() << "| 年龄:" << query.value(2).toInt(); }
db.close()
)。 /var/data/mydb.db
)。 虽然Qt4已是“老将”,但配合SQLite依然能打!通过本教程,你已掌握从创建到操作的全流程,下次遇到遗留系统维护,你就是团队里的“数据库救星”啦!
🔧 动手挑战:尝试为你的项目添加一个日志记录表,记录运行状态吧!
本文由 斐元彤 于2025-07-31发表在【云服务器提供商】,文中图片由(斐元彤)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/493098.html
发表评论