lin28 发表于 2011-12-1 14:29:33

mini2440 sqlite 有时候能建表 有时候不可以?

QSqlDatabase db1 = QSqlDatabase::addDatabase("QSQLITE");
       db1.setDatabaseName("./5.db");
if(db1.open())qDebug()<<datestring+"open db   ok ";
   QSqlQuery query;

          bool bsuccess = query.exec("create tableday4(id integer primary key,time,name,age);");

   if(bsuccess)qDebug()<<"create tableok;
   else
         qDebug()<<" table is exist ";


有时候执行到 bool bsuccess = query.exec("create tableday4(id integer primary key,time,name,age);");

系统就Segmentation fault   有时候 就正常   



另操作另个数据库文件必须QSqlDatabase db1 = QSqlDatabase::addDatabase("QSQLITE");这句必须这样写
       db1.setDatabaseName("./6.db");

否则还是操作上个数据库文件?



不知道是什么原因?难道要mini2440 移植sqlite3才能解决?       有在mini2440 上用sqlite的 朋友 指点   谢谢!

chinaye1 发表于 2011-12-1 15:35:25

操作另个数据库文件必须QSqlDatabase db1 = QSqlDatabase::addDatabase("QSQLITE");这句必须这样写
       db1.setDatabaseName("./6.db");

否则还是操作上个数据库文件?上次打开的数据库句柄没有关闭?


执行到 bool bsuccess = query.exec("create tableday4(id integer primary key,time,name,age);");

系统就Segmentation fault   有时候 就正常   

貌似不能重复创建名称相同的表吧?

lin28 发表于 2011-12-1 16:05:27

在xpqt creator中是正常的没见程序死!
有同名表 它不会再创建


在mini2440有时候表都没成功建立   文件是空的

加了下面这些没什么用
db->close();
QSqlDatabase::removeDatabase("QSQLITE");

lin28 发表于 2011-12-1 16:45:54

顶啊。。。。    创建几个数据库文件   到某个数据库文件(不定)就死在创建表上   。。。。   郁闷啊

chinaye1 发表于 2011-12-1 17:01:49

回复【3楼】lin28
顶啊。。。。    创建几个数据库文件   到某个数据库文件(不定)就死在创建表上   。。。。   郁闷啊
-----------------------------------------------------------------------

没有多线程并发创建表吧

lin28 发表于 2011-12-1 17:13:31

没用多线程

lin28 发表于 2011-12-2 11:25:42

解决办法   在电脑上建好表      还是不知道为什么建表比较容易死。。。。

usecool 发表于 2011-12-2 16:10:35

QT 连接多个数据库,必须指定不同的连接名字


http://blog.csdn.net/gongjin21/article/details/5733296
页: [1]
查看完整版本: mini2440 sqlite 有时候能建表 有时候不可以?