...
原文地址:http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html#trx 翻译: DarkBull(www.darkbull.net) 示例代码:MySqlDemo.7z 译者注:该教程是一篇介绍如何使用C++操作MySQL的入门教程,内容简单易用。我对原文中的一些例子进行了修
原文地址: http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html#trx
翻译: DarkBull(www.darkbull.net)
示例代码:MySqlDemo.7z
译者注:该教程是一篇介绍如何使用C++操作MySQL的入门教程,内容简单易用。我对原文中的一些例子进行了修改,并新添加了部分例子,主要目标是更简单明了的向读者介绍如何操作MySQL数据库。本人也是MySQL的初学者,错误也在所难免,欢迎拍砖!
这篇教程将一步一步引导您如何去构建和安装MySql Connection/C++ Driver,同时提供几个简单的例子来演示如何连接MySQL数据库,如何向MySQL添加、获取数据。本教程关注如何在C++应用程序中操作MySQL,所以首先应该确定MySQL数据库服务已经开启并且在当前机器能够访问到。
本教程面向的读者是MySQL Connector/C++的初学者,如果您对C++语言或者MySQL数据库不是很了解,请参考其他的教程。
教程使用了下面所列的一些工具和技术,来构建、编译、运行例子程序(译者注:这是原文作者使用的环境。笔者使用的环境是:WinXP,MySQL5.1,VS2008, ):
-
Database
MySQL Server 5.1.24-rc
-
C++ Driver
MySQL Connector/C++ 1.0.5
-
MySQL Client Library
MySQL Connector/C 6.0
-
Compiler
Sun Studio 12 C++ compiler
-
Make
CMake 2.6.3
-
Operating System
OpenSolaris 2008.11 32-bit
-
CPU / ISA
Intel Centrino / x86
-
Hardware
Toshiba Tecra M2 Laptop
目录
MySQL C++ Driver的实现基于JDBC4.0规范
安装MySQL Connector/C++
运行时依赖
C++ IDE
为示例程序创建数据库与数据表
使用Connector/C++测试数据库连接
使用prepared Statements
使用事务
访问Result Set Metadata
访问Database Metadata
通过PreparedStatment对象访问参数元数据
捕获异常
调试/跟踪 MySQL Connector/C++
更多信息
MySQL C++ Driver的实现基于JDBC4.0规范
MySQL Connector/C++是由Sun Microsystems开发的MySQL连接器。它提供了基于OO的编程接口与数据库驱动来操作MySQL服务器。
与许多其他现存的C++接口实现不同,Connector/C++遵循了JDBC规范。也就是说,Connector/C++ Driver的API主要是基于Java语言的JDBC接口。JDBC是java语言与各种数据库连接的标准工业接口。Connector/C++实现了大部分JDBC4.0规范。如果C++程序的开发者很熟悉JDBC编程,将很快的入门。
MySQL Connector/C++实现了下面这些类:
-
Driver
-
Connection
-
Statement
-
PreparedStatement
-
ResultSet
-
Savepoint
-
DatabaseMetaData
-
ResultSetMetaData
-
ParameterMetaData
Connector/C++可用于连接MySQL5.1及其以后版本。
在MySQL Connector/C++发布之前,C++程序员可以使用MySQL C API或者MySQL++访问MySQL。前者是非标准、过程化的C API,后者是对MySQL C API的C++封装。
安装MySQL Connector/C++
此处略。(译者注:用户可以到MySQL的官网[http://dev.mysql.com/downloads/connector/cpp/1.0.html]去下载MySQL Connector/C++的安装程序,或者只下载dll,或者下载源代码自己编译。笔者在Window平台上使用MySQL,下载了mysql-connector-c++-noinstall-1.0.5-win32这个版本用于调试。)
运行时依赖
MySQL Connector/C++ Driver依赖MySQL的客户端库,在MySQL安装目录下的lib\opt\libmysql.dll。如果是通过安装程序来安装MySQL Connector/C++,libmysql会一并安装,如果从官网只下载了dll或源码,在使用时,程序必须链接到libmysql.dll。
C++ IDE
此处略。(译者注:原文作者使用NetBean作为C++的IED。笔者使用VS2008)
为示例程序创建数据库与数据表
(译者注:此节略掉许多不太重要的内容。)在MySQL中创建test数据库,使用下面语句创建数据表:City:
Create Table: CREATE TABLE `City` ( `CityName` varchar(30) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=ascii
然后向City表中添加一些数据。最后表的内容为:
mysql> SELECT * FROM City;
+--------------------+
| CityName |
+--------------------+
| Hyderabad, India |
| San Francisco, USA
|
| Sydney, Australia |
+--------------------+
3 rows in set (0.17 sec)
使用Connector/C++测试数据库连接
下面的代码演示如何使用Connector/C++连接到MySQL服务器:
-
连接到test数据库;
-
执行一个查询获取City表中的数据,显示在控制台上;
-
使用Prepared Statements向City表插入数据;
-
使用savepoints演示事务;
-
获取结果集和数据库的元信息;
例子代码仅仅用于演示,不建议读者在实际开发中使用这种样式的代码。(译者注:例子代码很长,如果看不太明白,没关系,等阅读完全文之后再回过头来看)
#include
#include