sqlite数据库的问题

芝麻775 2012-06-07 09:47:37
#include <QtCore/QCoreApplication>
#include <QtSql>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("/mnt/sdcard/test.db");
if(!db.open())
{
return false;
}
printf("open OK\n");


QSqlQuery query;
query.exec("creat table student(id int primary key,name varchar)");

query.exec("insert into student values(1,'xiaofang')");
query.exec("insert into student values(2,'xiaohu')");
query.exec("insert into student values(3,'xiaozhu')");

query.exec("select id from student where id >=2");

printf("mark1\n");
while(query.next())
{
int ele0 = query.value(0).toInt();
QString ele1=query.value(1).toString();
qDebug() << ele0 <<ele1;
printf("\n%s\n",ele0);
printf("\n%s\n",ele1);
printf("mark2\n");
}
printf("mark3\n");
return a.exec();
}

以上是我按照网上的例子的代码,运行后发现没有进while()循环,生成了test.db的文件,可是大小为0 K字节?请问是什么原因呢?代码不知道是不是正确的,帮忙看看!
...全文
108 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
没有啥的昵称 2012-06-07
  • 打赏
  • 举报
回复
query.exec("creat table student(id int primary key,name varchar)");

create,错误是这。
没有啥的昵称 2012-06-07
  • 打赏
  • 举报
回复
估计代码问题不大,可能是SQL语句没有执行成功。
芝麻775 2012-06-07
  • 打赏
  • 举报
回复
谢谢yxmlhc,确实敲错了,我试试去。

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧