在OTL中使用事务首先要知道数据库变量的知识,主要是将sql语句中的参数变成变量,然后将要处理的数据赋值给变量。
数据库变量主要用于动态SQL,存储过程,找这两个都能找到变量的用法。
void insertBatch(otl_connect &db)
{
try{
const char *str = "insert into ccc values(:aa<int>,:bb<char[100]>)";
otl_stream o(5,str,db);
char tmp[32];
for(int i =1;i<5;i++)
{
sprintf(tmp,"Name%d",i);
o<<i;
o<<tmp;
cout << tmp<<endl;
}
}
catch(otl_exception& p)
{
throw p;
}
上面的例子是自动提交的例子
后面测试发现,values后面的变量也不需要是字段名,但是为了便于理解或者不要有不必要的问题还是最好写成字段名,当然写字段序号也可以
https://blog.csdn.net/wz7654321/article/details/8349209这篇文章里有很详细的OTL事务处理例子,其中的手动提交事务的例子更能让人理解事务处理。
C++交流群:585225803