#include <iostream>
#include <string>
#include "Poco/Data/Common.h"
#include "Poco/Data/SQLite/Connector.h"
using namespace Poco::Data;
using namespace std;
int main()
{
std::string caseno="CNO1311";
SQLite::Connector::registerConnector();
Session ses("SQLite","C:\\EviChain.db");
ses<<"BEGIN TRANSACTION",now;
ses<<"Insert INTO [Case](CaseNo) VALUES (:cno)",use(caseno),now;
ses<<"SELECT DISTINCT(LAST_INSERT_ROWID()) AS RowID FROM [Case]",into(count),now;
ses<<"COMMIT TRANSACTION",now;
SQLite::Connector::unregisterConnector();
return 0;
}
Poco使用SQLite的事務
最近要導入一些數據,由於涉及主鍵與外鍵的關係,迫切需要得知插入後的自增字段,但又擔心多客戶端錄入導致獲取的rowid不一致。於是採用了事務。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.