- if(db.isOpen())
- db.close();
- dataBasePath=QCoreApplication::applicationDirPath()+"/data.db3";
- qDebug()<<"DataBasePath:"<<dataBasePath;
- db = QSqlDatabase::addDatabase("QSQLITE");
- db.setDatabaseName(dataBasePath);
- sprintf(cmd,"create table %s (itime smalldatetime primary key, workid tinyint, oilCanNum tinyint, oilLevel float, bondary float, temperature float, totalVolume float, temperatureVolume float)",TABLE_NAME_3A);
- if(!query.exec(cmd))
- {
- printf("ERROR:Create table mdata in database faild!\n");
- qDebug()<<query.lastError();
- qDebug()<<cmd;
- return false;
- }
我在linux PC机上
执行上面的代码的时候,是
没有任何
错误的,在一个天嵌的2440上执行上面的代码也是没有任何错误的,现在我把它放到一个mini2440上(硬件配置和天嵌的一样),就出现了下面的错误:
QSqlError(7, "Unable to fetch row", "out of memory")
我查看了一下,程序运行的时候还有30M的空余内存(总内存64M),程序无论放在SD卡或是烧入板上都是这样,实在是不知道是什么原因,求大神指导一下
PS:现在是在创建表的时候
出错,要是我把一个已经创建好表的
数据库文件放上去,在插入几组数据后程序就出现段错误然后退出