OTL的封装类使用说明

 对于前几天发布的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指令的返回值

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值