最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

C++类库:OTL连接MySQLODBC数据库(insert,update,select)_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 20:06:41
文档

C++类库:OTL连接MySQLODBC数据库(insert,update,select)_MySQL

C++类库:OTL连接MySQLODBC数据库(insert,update,select)_MySQL:一. 简介 OTL是一个纯C++的通用数据库连接模板库,可以支持各种当下流行的数据库,如Oracle,Sybase, MySQL, PostgreSQL, EnterpriseDB, SQLite, MS ACCESS, Firebird等等.它是一个跨平台类库,在MS Windows, Linux/Uni
推荐度:
导读C++类库:OTL连接MySQLODBC数据库(insert,update,select)_MySQL:一. 简介 OTL是一个纯C++的通用数据库连接模板库,可以支持各种当下流行的数据库,如Oracle,Sybase, MySQL, PostgreSQL, EnterpriseDB, SQLite, MS ACCESS, Firebird等等.它是一个跨平台类库,在MS Windows, Linux/Uni

一. 简介

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 table
void 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<<"Name changed"<
10). Select语句:
// MyODBC does not allow any input bind variables in the WHERE clause
// in a SELECT statement.
// Therefore, the SELECT statement has to be generated literally.
void select(const int af1)
{ 
	 char stmbuf[1024];
	 sprintf(stmbuf,
	 "select * from test_tab where f1>=%d and f1<=%d*2",
	 af1,
	 af1
	 );
	 otl_stream i(50, // buffer size may be > 1
	 stmbuf, // SELECT statement
	 db // connect object
	 ); 
	 // create select stream
	 
	 int f1;
	 char f2[31];

	 while(!i.eof())
	 { // while not end-of-data
	 i>>f1;
	 cout<<"f1="<

11). 断开ODBC:
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<

13). 运行结果:
Output

f1=8, f2=Name8
f1=9, f2=Name9
f1=10, f2=Name changed
f1=11, f2=NULL
f1=12, f2=Name12
f1=13, f2=Name13
f1=14, f2=Name14
f1=15, f2=Name15
f1=16, f2=Name16

版权声明:本文为博主原创文章,未经博主允许不得转载。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

C++类库:OTL连接MySQLODBC数据库(insert,update,select)_MySQL

C++类库:OTL连接MySQLODBC数据库(insert,update,select)_MySQL:一. 简介 OTL是一个纯C++的通用数据库连接模板库,可以支持各种当下流行的数据库,如Oracle,Sybase, MySQL, PostgreSQL, EnterpriseDB, SQLite, MS ACCESS, Firebird等等.它是一个跨平台类库,在MS Windows, Linux/Uni
推荐度:
标签: 数据库 update mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top