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
    评论
OCL电路和OTL电路都是指功率放大器电路中的两种不同设计架构。 首先,OCL(Output Capacitor-Less)电路是指在输出端不需要使用输出电容器的放大器电路。传统的功率放大器设计通常需要在输出端加入电容器以保护后级负载和直流偏置。然而,输出电容器会引入额外的损失和非线性因素。为了解决这个问题,OCL电路应运而生。OCL电路通过在电路设计中引入补偿网络,使得放大器能够直接连接到负载,从而消除了输出电容器的需求。这种设计架构可以提高放大器的频率响应和线性度。 相比之下,OTL(Output Transformer-Less)电路是指在输出端不需要使用输出变压器的放大器电路。传统的电子管功率放大器通常使用输出变压器来提高电压增益和驱动负载。输出变压器虽然可以提供较高的电压放大倍数,但也会引入较大的重量、尺寸和成本。而OTL电路通过使用特殊的电路构造和驱动方式,使得放大器能够直接驱动低阻抗负载,从而避免了输出变压器的需求。OTL电路通常使用大功率晶体管或功率电子管来实现高功率输出。 总的来说,OCL和OTL电路都是为了解决传统功率放大器中的限制而设计的创新架构。它们通过消除输出电容器和输出变压器的需求,提高了放大器的线性度、频率响应和稳定性。这些设计在无线电、音频和音响应用中得到广泛应用,以提供更高质量的音频放大和放大器性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值