OTL编程接口

OTL编程接口


2024年4月20日发(作者:)

标准C++语言,支持 unix/linux/windows,只有一个头文件;

接口简洁。otl_stream,otl_connect,otl_exception等就可以完成大部分工作;

直接访问数据库API接口,具有API接口的高效率,可靠性和线程安全性。

otl_connect提供数据库连接、事务操作的功能。

主要成员函数如下:

static int otl_initialize(const int threaded_mode=0);

// 静态函数,初始化OTL数据库环境,必须在调用OTL API 之前被调用;

threaded_mode = 1表示运行在多线程环境;

static int otl_terminate();

//在多线程环境中尤其有用;

int connected;

// 是否已经连接到数据库;

otl_connect(const char* connect_str,const int auto_commit=0);

//构造函数,内部调用rlogon;

void rlogon(const char* connect_str,const int auto_commit=0);

//创建数据库连接;

void logoff();

//关闭数据库连接;

void commit();

//提交事务;

void rollback ();

//将上次提交的事务进行回滚;

void auto_commit_on();

//设置SQL语句自动提交状态;

void auto_commit_off();

//设置SQL语句非自动提交状态。

otl_stream类为数据库访问类,通过数据流的方式访问关系数据库。

主要成员函数如下:

otl_stream(const short arr_size, const char* sqlstm, otl_connect& db,

const char* ref_cur_placeholder=0);

//构造函数,arr_size缓冲记录的条数,sqlstm 要执行的SQL 语句,db 使用的数据库连

接,ref_cur_placeholder

表示返回的光标(如果有的话)的名字;

void open(const short arr_size, const char* sqlstm, otl_connect& db, const

char* ref_cur_placeholder=0);

//arr_size缓冲记录的条数,sqlstm 要执行的SQL 语句,db 使用的数据库连

接,ref_cur_placeholder

表示返回的光标(如果有的话)的名字;

void close();

//关闭流;

int good();

//测试流是否已经成功打开;

int eof();

//测试数据读取,是否到了流的结尾,和标准C++ 流的eof 相同;

int is_null();

//测试通过>> 运算符获取的值是否为空;

void set_commit(int auto_commit=0);

//刷新flush()缓冲区的时候,是否自动提交事务,默认为。从更易于理解的角度,建

议在显式提交的应用中用otl_nocommit_stream,但建议事务最好放到存储过程里做,在代码

中将会变得很麻烦,代码中不再调用set_commit,使用默认自动提交为true;

void flush();

//刷新otl_stream 的缓冲区(获取新的数据或者把数据写到数据库中);如果是自动提

交,当缓冲区满的时候,otl_stream

会自动flush。当关闭了自动提交;

void clean(const int clean_up_error_flag=0);

//清空缓冲区而不执行刷新操作;

operator<<();

//为数据流对象的变量赋值;

operator>>();

//获得数据流的查询返回值。

otl_exception类为数据库异常类,存储访问数据库发生异常时的信息。

其主要成员如下:

char stm_text[2048 or OTL_EXCEPTION_STM_TEXT_SIZE] ;

//发生异常时的SQL语句的前个字符;

char var_info[256];

//发生异常时的变量信息;

unsigned char msg[1000];

//异常信息;

int code;

//异常代码;

unsigned char sqlstate[1000];

//SQL语句的状态信息。


发布者:admin,转转请注明出处:http://www.yc00.com/web/1713555023a2272208.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信