occi批量操作数据库示例
#include "DBManager.h"
#include <cstring>
#include <cstdio>
using namespace std;
/*
表结构:
表名:PEOPLE
字段:ID(主键); NAME; BIRTHDAY
*/
int main()
{
try
{
// 连接数据库
DBManager db_opt; //为将occi原始语句封装后的数据库操作类对象
db_opt.Init_env();
db_opt.Init("orclkfbj","evoms_sel","evoms_seljcbj") ;
db_opt.Connect_db();
printf("database connect success!\n");
// 设置sql
db_opt.m_p_stmt = db_opt.m_p_conn->createStatement();
db_opt.m_p_stmt->setSQL("insert into PEOPLE (ID,NAME,BIRTHDAY) values (:1, ‘hzhsan‘, to_date(‘21-02-2004 13:13:34‘))");
// 批量插入数据
db_opt.m_p_stmt->setMaxIterations(1000); // 设置批量插入的最大条数
int count = 1000; // 实际插入最大条数
for(int i=0; i<count; i++)
{
db_opt.m_p_stmt->setInt(1,1000+i);
// 注意:最后一条记录不要调用该函数
if( i != count-1 )
{
db_opt.m_p_stmt->addIteration();
}
}
// 执行语句
db_opt.m_p_stmt->executeUpdate();
}
catch (SQLException &oraex)
{
string errmsg = oraex.getMessage();
printf( "Error:%s", errmsg.c_str());
}
return 0;
}