发布时间:2024-09-01 09:01
SQLite是一个轻量级的嵌入型数据库,不需要服务端,可以运行在很多资源非常小的嵌入式系统中。
SQLite的管理客户端,可以使用:
等。
修改.pro文件:
QT += sql
引用的头文件:
#include #include #include #include
qDebug() << QSqlDatabase::drivers();
我的电脑输出的值有:
(\"QSQLITE\", \"QODBC\", \"QODBC3\", \"QPSQL\", \"QPSQL7\")
里面的QSQLITE表示支持SQLite数据库。
//建立并打开数据库 QSqlDatabase database; database = QSqlDatabase::addDatabase(\"QSQLITE\"); database.setDatabaseName(\"test.db\"); if (!database.open()) { qDebug() << \"Error: Failed to connect database.\" << database.lastError(); } else { qDebug() << \"Succeed to connect database.\" ; }
//创建表格 QSqlQuery sql_query; if(!sql_query.exec(\"create table users(id int primary key, name text, age int)\")) { qDebug() << \"Error: Fail to create table.\"<< sql_query.lastError(); } else { qDebug() << \"Table created!\"; }
if(!sql_query.exec(\"INSERT INTO users VALUES(1, \"张三\", 30)\")) { qDebug() << sql_query.lastError(); } else { qDebug() << \"inserted success!\"; } if(!sql_query.exec(\"INSERT INTO users VALUES(2, \"李四\", 30)\")) { qDebug() << sql_query.lastError(); } else { qDebug() << \"inserted success!\"; }
//查询数据 sql_query.exec(\"select * from users\"); if(!sql_query.exec()) { qDebug()<
sql_query.exec(\"delete from users where id = 1\"); if(!sql_query.exec()) { qDebug()<
sql_query.exec(\"update users set name = \"myname\" where id = 1\"); if(!sql_query.exec()) { qDebug() << sql_query.lastError(); } else { qDebug() << \"updated!\"; }
sql_query.exec(\"drop table users\"); if(sql_query.exec()) { qDebug() << sql_query.lastError(); } else { qDebug() << \"table droped\"; }
database.close();
运行效果:会自动生成一个test.db数据库文件。