dbT1.transaction(); //开始启动事务
inQry.prepare("insert into datatable values (?,?,?)");
while (!ReadDat.atEnd()) {
strTextData = ReadDat.readLine();
listIndex << datIndex;
tmStamp << tmStampCnt;
dtData << strTextData;
datIndex++;
DatWin->append(strTextData);
}
//绑定数据,顺序应与表结构字段数据一致
inQry.addBindValue(listIndex); //绑定数据
inQry.addBindValue(tmStamp); //绑定数据
inQry.addBindValue(dtData); //绑定数据
inQry.execBatch(); //进行批处理操作
dbT1.commit(); //提交事务,此时打开数据库文件执行SQL语句
//不加下面三句,重复操作上面语句时,数据库不会有新的添加
//因为作为主键的listIndex内有原数据,此时数据库不会保存主键值重复的内容
listIndex.clear();
tmStamp.clear();
dtData.clear();
dbT1.transaction();
while(!ReadDat.atEnd())
{
strTextData = ReadDat.readLine();
inQry.prepare("insert into datatable(tIndex, tTimStamp, tDistance) values(:tIndex, :tTimStamp, :tDistance)");
inQry.bindValue(0,datIndex);
inQry.bindValue(1,tmStampCnt);
inQry.bindValue(2,strTextData);
inQry.exec();
datIndex++;
DatWin->append(strTextData);
}
dbT1.commit();