对于前几天发布的OTL封装类的一个使用说名:
1:接口说明:
(1)
void ConnecTodbcdb(const std::string& DSN,const std::string& UID,
const std::string& PWD,DataBaseType type,int timeout=30);
//DSN:ODBC数据源名称
//UID:用户名
//PWD:密码
//type:所连接的数据库类型(枚举类型)
//timeout:数据库执行语句的超时时间,默认为30秒
//约定:此函数输入参数字符串中不能含有字符@
(2)
void ConnecTodbcdb(DataBaseType type,int timeout,
const std::string& serveraddress,const std::string& UID, const std::string& PWD,
const std::string& database,const std::string& port)
//其中UID,PWD,type,timeout与函数(1)的意义相同
//serveraddress:数据服务器服务器地址
//database:所连接的数据库名
//port:数据库服务器监听端口号
//建议:非MSSQL建议暂不使用
(3)
void CloseDb(void);
//关闭数据连接,数据库对象析构时会自动关闭连接
(4)
void Select(const std::string& sqlstr,bool bchange=true);
//sqlstr:SQL的查询语句
//bchange:是否改变结果集的顺序,ODBC要求Clob/Blob必须位于字段列尾
(5)
void Insert(const std::string& sqlstr);
//sqlstr:SQL的Insert/Updata语句,Clob/Blob必须位于字段列尾
(6)
void CallStorProc(const std::string& sqlstr);
//sqlstr:存储过程名称
(7)
void Delete(const std::string& sqlstr,bool nopara=true);
//sqlstr:SQL的Delete语句,识别语句中where条件后的变量类型暂未实现
//nopara:是否有输入参数
(8)
void Excute(const std::string& sqlstr,bool nothrowexception = false);
//sqlstr:建表等除上述(4~7)的函数所不能执行的函数语句
//nothrowexception:是否抛出异常
(9)
void CloseStream();
//关闭OTL的输入输出流
(10)
void CleanErrorTag();
//清除OTL的输入输出流中的错误状态
(11)
bool NextRow(void);
//将游标移到结果集中的下一行;
//如果是结果集的末尾,则返回false,否则返回true
(12)
void SetTransaction();
//开始事务
(13)
void CommitTransaction();
//提交事务
(14)
void RollbackTransaction();
//事务回滚
(15)
void GetOutputType(std::vector<columnsinfo>&);
//获取输出结果集类型
(16)
int SetOneRowdata(const std::vector<std::string>&);
//插入一条记录(如果记录中有Blob类型字段必须一条一条的插入)
(17)
void SetALLRowdata(const C2DVector<std::string>&);
//插入多条记录
(18)
int GetOneRowdata(std::vector<std::string>&);
//获取一条记录(如果记录中有Blob类型字段必须一条一条的取)
(19)
void GetAllRowdata(C2DVector<std::string>&);
//取得多条记录
(20)
bool GetChunk(unsigned char *& buffer,int& len);
//获取Blob字段值
//buffer:取得的结果所存放的指针的地址;
// 在IO流关闭或者取得下一个Blob值时会自动释放内存
//len:取得的结果值的长度
//取值完毕返回false,否则为true
(21)
void AppendChunk(unsigned char *& buffer,int input_len,int left_len=0);
//给Blob字段赋值
//buffer:被赋值的指针地址
//input_len:本次输入值的长度
//left_len:本次未输入值的长度
(22)
template<typename T>
void AddParameter(T t);
//给少量的SQL指令中的变量赋值
(23)
template<typename T>
void BindtoParameter(T& t)
//获取的SQL指令的返回值