Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94404
  • 博文数量: 20
  • 博客积分: 474
  • 博客等级: 下士
  • 技术积分: 205
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-27 18:43
文章分类

全部博文(20)

文章存档

2011年(20)

分类: C/C++

2011-06-09 01:43:31

说明一:QT4.7用的sqlite是3.0+版本。而数据库各版本的数据格式有很大的不同,所以用qt语句创建的数据库只能用sqlite3在命令行中打开。关于sqlite3的使用方法可以询问强大的“男人”。

说明二:在qt中执行数据库语句如query.exec("select * from where id=%1");时需要向字符串中传参数。一个方法是query.exec(QString("select * from where id=%1").arg(...));这样可以将参数传递给%1所在的位置。但是需要注意的是sql语句中对字符串要求用单引号''括起来。所以如果arg里面的参数是字符串需要将%1加上单引号。要想用arg这种形式的方法必须加上头文件#include

说明三:如果在qt中创建sqlite数据库出错比如说什么缺省数据库重复什么的可以按如下方式解决:
 
  1. QSqlDatabase SaleDB = QSqlDatabase::addDatabase("QSQLITE");
  2. SaleDB.setDatabaseName("DiskSale.db");
  3. if (!SaleDB.open()) {
  4.      printf("%s\n","open the db error!");
  5.      return false;
  6. }
  7. QSqlQuery query(SaleDB);
  8. 然后用query进行数据库操作。
由于我对次还不是怎么了解,我现在在每个函数里都重新打开一次数据库。注意这种方式一定要在query的声明中指定数据库。

说明四:待续。。。。




阅读(1835) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~