代碼大致如下:
#define OTL_ODBC
int main(int argc, char *argv[]) {
otl_connect dbconn(user/pw);
otl_stream otls(10, "INSERT INTO table VALUES(:id<int>, :value<int>)", dbconn);
for(int index = 1; index <= 100; ++index) {
otls << index << index;
}
return 0;
}
理論上當緩沖區填滿時,會自動重繪并提交事務,即插入100條資料。
實際上每次提交只插入了一條,即值插入了(1, 1),(11, 11),(21, 21)....
資料庫版本:5.0.27,ODBC版本:5.1,引擎:innodb
求解。
uj5u.com熱心網友回復:
#define OTL_ODBCint main(int argc, char *argv[]) {
otl_connect dbconn(user/pw);
otl_stream otls(10, "INSERT INTO table VALUES(:id<int>, :value<int>)", dbconn);
for(int index = 1; index <= 100; ++index) {
otls << index << index;
}
return 0;
}
把 otl_stream otls(10, "INSERT INTO table VALUES(:id<int>, :value<int>)", dbconn);
中的10換成1,試試看呢?
uj5u.com熱心網友回復:
1當然沒問題的,但是相當于沒有利用緩沖區,每條提交一次。
我看不少博文都是用的類似的代碼,不知道為什么我這不成功...
uj5u.com熱心網友回復:
我想你這里面的10不是提交次數,而是執行間隔次數吧?
uj5u.com熱心網友回復:
請問樓主是怎么解決的呢?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/80988.html
標籤:VCL組件使用和開發
