1、路径问题
2、检查数据库驱动问题
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() <<"Available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() << "\t" << driver;
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");//添加数据库驱动
db.setDatabaseName("E:/MyQTProject/kjQt/QtMySql/kj.db");//数据库连接命名(表示的是建立在内存中的数据库,绝对路径使用一定是‘/’,原因是使用‘\’转义字符)
if( !db.open())
{
return false;
}
QSqlQuery query;
if( query.exec("create table student(id int primary k ey, name varchar)") )//新建表student 主键是id,名字是可变长度字符串
{
qDebug() <<"Create success !!!";
}
if( query.exec("insert into student values(1,'KongJun')"))
{
qDebug() <<"insert success !!!";
}
query.exec("insert into student values(2,'LiuXiaoWei')");
query.exec("insert into student values(3,'ZhuShiWei')");//插入三条记录
query.exec("select id,name from student where id >= 2");//查找表中id大于2的记录的id和姓名
while( query.next())//query.next()指向查找的第一条记录,然后每次向后移动一条记录
{
int ele0 = query.value(0).toInt();//id的值转换为int型
QString ele1 = query.value(1).toString();
qDebug() << ele0 << ele1;
}
return a.exec();
}