OTL (Oracle, Odbcand DB2-CLI Template Library)是操控关系数据库的C++模板库,几乎支持所有主流数据库。操作Oracle可通过Oracle的OCI接口实现,操作DB2可通过CLI接口实现;而操作MS和其它数据库,OTL提供了ODBC操作方式。另外,Oracle和DB2也可以由OTL使用ODBC操作。当前OTL的最新版本为4.0,参见http://otl.sourceforge.net/,下载地址http://otl.sourceforge.net/otlv4_h2.zip。
本文介绍使用OTL操作SQLite数据库的具体过程。
1、通过ODBC来访问操作SQLite数据库需要安装第三方组件库的SQLite ODBC Driver,下载地址http://www.ch-werner.de/sqliteodbc/。注意64位机器应下载64位版本。
2、使用SQLiteExpertPro工具创建一个SQLite数据库文件,保存在本地,新建表结构和示例数据,本例中为(id<int>, age<int>)。
3、进入“控制面板—管理工具—ODBC 数据源(64 位)—系统DNS”选项卡,添加,选择SQLite3 ODBC Driver创建数据源。设置相关信息如下。注意将Database Name关联到本地数据库文件。
4、新建测试工程项目,包含otlv4_h3.zip压缩包中的头文件。测试代码如下:
#include
using namespace std;
#include
#include
#include
#define OTL_ODBC // Compile OTL 4.0/ODBC
//#define OTL_ODBC_UNIX // for UnixODBC
//#define ODBCVER 0x0250
#include "otlv4.h" // include the OTL 4.0 header file
otl_connect db; // connect object
void insert()
// insert rows into table
{
// open a stream with no implicit committing
otl_stream
o(1, // stream buffer size should be set to 1
"insert into aa values(:id
,:age
)", // SQL statement db // connect object ); o<<2<<25; //int 2, age 25 } int main() { otl_connect::otl_initialize(); // initialize ODBC environment try{ db.rlogon("DSN=xuzhimin"); // connect to ODBC insert(); // insert records into the table } catch(otl_exception& p){ // intercept OTL exceptions cerr<
<
5、更改目标平台为x64,编译运行程序,即可往数据库中写入一条记录。 6、要实现复杂的增删查改,可进一步学习otl相关文档。