sqlite是轻量级数据库,Qt内嵌该数据库,很方便使用。
Qt使用sqlite步骤
- 创建数据库sqlite连接。
- 创建表(如有表,进行更新)。
- 完成数据库初始化设置。
- 数据库CRUD操作。
Qt程序实例
void testSql()
{
//sqllite driver and connect
QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
db.setHostName("test2");
db.setDatabaseName("test2.db");
db.setUserName("admin");
db.setPassword("123456");
db.open();
QSqlQuery query;
QSqlRecord record;
//create table
bool success=query.exec("create table automobile"
"(id INTEGER PRIMARY KEY AUTOINCREMENT, "
"type vchar(30))");
if(success){
qDebug()<<"db create success";
}
else
{
qDebug()<<"db create fail";
}
//select test
query.exec("select * from automobile");
record=query.record();
qDebug()<<"table column= "<<record.count();
//insert data
query.prepare("insert into automobile values(NUll, ?)");
for(int i=1; i<10; i++)
{
QString type="type"+QString::number(i);
query.bindValue(0, type);
success=query.exec();
if(!success)
{
QSqlError error=query.lastError();
qWarning()<<"insert error= "<<error.driverText();
}
}
//select data
bool success1=query.exec("select * from automobile");
record=query.record();
qDebug()<<"table column= "<<record.count();
if(success1)
{
while (query.next())
{
int id=query.value(0).toInt();
QString type=query.value(1).toString();
qDebug()<<"id= "<<id<<", type= "<<type;
}
}
//sqlite close
db.close();
}
win10系统安装sqlite
navicat连接sqlite
- 链接地址:https://www.cnblogs.com/luckyplj/p/10532956.html
- 通过navicat可视化工具来操作数据库,减轻代码测试压力。