OTL程式設計介面

2021-05-09 23:30:55 字數 2763 閱讀 5066

標準

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

語句的狀態資訊。

OTL使用總結

在vc中訪問oracle,可以使用ado或odbc,如果你比較強大,也可以直接使用oci api,但我個人認為otl是最佳選擇,它是一套資料庫訪問c 模板庫,全部 都在otlv4.h標頭檔案中,通過otl不但可以訪問oracle資料庫 使用oci api 還可以訪問db2,或者使用odbc連線字串訪...

OTL使用總結

otl的原始碼只有乙個標頭檔案 otlv4.h。下面以乙個例子來說明如何使用otl。cpp view plain copy define otl ora10g include void caboutdlg onbnclickedok cstring strnum strnum.format 當前or...

OTL使用總結

在vc中訪問oracle,可以使用ado或odbc,如果你比較強大,也可以直接使用oci api,但我個人認為otl是最佳選擇,它是一套資料庫訪問c 模板庫,全部 都在otlv4.h標頭檔案中,通過otl不但可以訪問oracle資料庫 使用oci api 還可以訪問db2,或者使用odbc連線字串訪...