otl是一个纯c++的通用数据库连接模板库,可以支持各种当下流行的数据库,如oracle,sybase, mysql, postgresql, enterprisedb, sqlite, ms access, firebird等等.它是一个跨平台类库,在ms windows, linux/unix/mac os x 都可以使用。
otl使用简单, 只要头文件中包含有: #include otlv4.h 就可,实际上整个otl就一个.h的文件,使用起来极为的方便。
我的下载空间:
代码:http://download.csdn.net/detail/u013354805/9057229
文档:http://download.csdn.net/detail/u013354805/9057243
案例:http://download.csdn.net/detail/u013354805/9057273
官方下载地址:http://otl.sourceforge.net/
二. 使用方法:
1. 首先指定要连接的数据库类型,otl用宏定义来指定要连接的数据库类型。otl会根据这个宏定义来初始化数据库连接的环境。
相关的宏定义列表: http://otl.sourceforge.net/otl3_compile.htm
如: #define otl_odbc_mysql表示连接odbc mysql数据库。
2、案例:
1) 指定连接的数据库类型:
#define otl_odbc_mysql // 指定连接的数据库类型
2) 导入otl 4 头文件
#include // include the otl 4 header file
3) 定义数据库实例:
otl_connect db; // 定义数据库实例
4) 初始化odbc环境:
otl_connect::otl_initialize();
5) 连接odbc:
db.rlogon(uid=scott;pwd=tiger;dsn=mysql); // connect to odbc
6). 删除表格:
otl_cursor::direct_exec ( db, drop table test_tab, otl_exception::disabled // disable otl exceptions ); // drop table
7). 创建表格:
otl_cursor::direct_exec ( db, create table test_tab(f1 int, f2 varchar(30)) ); // create table
8). insert 语句:
// insert rows into table void insert(){ otl_stream o(1, // buffer size should be == 1 always on insert insert into test_tab values(:f1,:f2), // sql statement db // connect object ); char tmp[32]; for(int i=1;i<=100;++i) { sprintf(tmp,name%d,i); o< 9). update 语句:
// update row data into tablevoid update(const int af1){ otl_stream o(1, // buffer size should be == 1 always on update update test_tab set f2=:f2 where f1=:f1, // update statement db // connect object ); o<
db.logoff(); // disconnect from odbc
12). 案例:
int main(){ otl_connect::otl_initialize(); // initialize odbc environment try { db.rlogon(uid=scott;pwd=tiger;dsn=mysql); // connect to odbc // db.rlogon(scott/tiger@mysql); // connect to odbc, alternative format // of connect string otl_cursor::direct_exec ( db, drop table test_tab, otl_exception::disabled // disable otl exceptions ); // drop table otl_cursor::direct_exec ( db, create table test_tab(f1 int, f2 varchar(30)) ); // create table insert(); // insert records into the table update(10); // update records in the table select(8); // select records from the table } catch(otl_exception& p) { // intercept otl exceptions cerr<
outputf1=8, f2=name8f1=9, f2=name9f1=10, f2=name changedf1=11, f2=nullf1=12, f2=name12f1=13, f2=name13f1=14, f2=name14f1=15, f2=name15f1=16, f2=name16
版权声明:本文为博主原创文章,未经博主允许不得转载。