说明一: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数据库出错比如说什么缺省数据库重复什么的可以按如下方式解决:
- QSqlDatabase SaleDB = QSqlDatabase::addDatabase("QSQLITE");
- SaleDB.setDatabaseName("DiskSale.db");
- if (!SaleDB.open()) {
-
printf("%s\n","open the db error!");
-
return false;
- }
- QSqlQuery query(SaleDB);
- 然后用query进行数据库操作。
由于我对次还不是怎么了解,我现在在每个函数里都重新打开一次数据库。注意这种方式一定要在query的声明中指定数据库。
说明四:待续。。。。
阅读(1831) | 评论(0) | 转发(0) |