原代碼:
sql_query.exec("CREATE TABLE wieght (" "id INTEGER PRIMARY KEY AUTOINCREMENT, " "datestr VARCHAR(100) NOT NULL, " "value VARCHAR(150) NOT NULL) "); db.transaction(); sql_query.prepare("insert into wieght values(?,?)"); sql_query.addBindValue(datestr); sql_query.addBindValue(values); if(!sql_query.execBatch()){ qDebug() << "execBatch fail:" << sql_query.lastError().text(); } if(!db.commit()){ qDebug() << "commit fail:" << sql_query.lastError().text(); }
拋出錯誤:
Parameter count mismatch
正確的代碼:
db.transaction(); sql_query.prepare("insert into wieght (datestr,value) values(?,?)"); sql_query.addBindValue(datestr); sql_query.addBindValue(values); if(!sql_query.execBatch()){ qDebug() << "execBatch fail:" << sql_query.lastError().text(); } if(!db.commit()){ qDebug() << "commit fail:" << sql_query.lastError().text(); }