发现网上关于QT使用sqllite的文章挺少的,有也是赤裸裸的数据库命令什么的,折腾很长时间终于搞定怎么在函数中使用变量添加、删除、查找数据库。
上代码:(有写的烂的地方请指正)
建立数据库:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName(":memory:"); //内存数据库
if(!(openflag = db.open()))
{
QMessageBox::critical(0, "错误", "数据库打开失败!\n");
//return db.lastError();
}
//创建表
if(!query.exec("CREATE TABLE message_record(num INT, name VARCHAR, content VARCHAR, time VARCHAR, statu VARCHAR)"))
{
QMessageBox::critical(0, "错误", "数据库表创建失败!\n");
//return query.lastError();
}
//封装添加数据命令
void add_content(QSqlQuery &query, int num, const QString &name, const QString &content, const QString &time, const QString &statu)
{
if(!query.prepare("INSERT INTO message_record(num, name, content, time, statu) VALUES(:num, :name, :content, :time, :statu)"))
{
QMessageBox::critical(0, "错误", "插入信息失败!\n");
}
query.addBindValue(num);
query.addBindValue(name);
query.addBindValue(content);
query.addBindValue(time);
query.addBindValue(statu);
query.exec();
//return query.lastInsertId();
}
以此为例相信大家可以很容易封装删除、查找函数。
删除命令中要删除的字段的单引号添加可以使用
command.append("'"+str+"'"); 解决
O(∩_∩)O~