OTL编程接口

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

接口简洁。otl_streamotl_connectotl_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语句的状态信息。

你可能感兴趣的:(基础知识)