以下的文章主要向大家描述的是用C++库连接来对Oracle数据库, MS SQL,与MySQL数据库的实际操作流程,我最近在网上找到了SQLAPI++,它的主要功能是访问多个SQL数据库(Oracle(大型网站数据库平台)。
SQLServer,DB2,Sybase,Informix,InterBase,SQLBase,MySQL数据库PostgreSQL)C++库。SQLAPI++直接调用本地目标数据库管理系统(DBMS)的API(不像ADO一样使用OLEDBand/orODBC中间层)。
SQLAPI++库扮演了一个中间件以间接方便访问数据库的角色,这就是为什么SQLAPI++是访问数据库最快的方法。在开发和发布您的应用程序时不再需要安装和配置OLEDBand/orODBC的驱动。
SQLAPI支持的开发平台有MicrosoftVisualC++,BorlandC++Builder,GunProjectCandC++Compiler。
示例代码如下:
- #include<stdio.h> forprintf
- #include<SQLAPI.h>mainSQLAPI++header
- intmain(intargc,char*argv[])
- {
- SAConnectioncon;
连接数据对象
- SACommandcmd(
- &con,
- "Selectfid,fvarchar20fromtest_tbl");
命令对象,其中包含了一个查询语句,你在测试的时候可以根据需要修改它。
try
{
连接MySQL数据库
在这个例程中连接的是Oracle(大型网站数据库平台)数据库,
当然它也可以连接Sybase,Informix,DB2
SQLServer,InterBase,SQLBaseandODBC
con.Connect("test","tester","tester",SA_Oracle(大型网站数据库平台)_Client);
执行查询语句
cmd.Execute();
显示查询后的结果
- while(cmd.FetchNext())
- {
- printf("Rowfetched:fid=%ld,fvarchar20='%s' ",
- cmd.Field("fid").asLong(),
- (constchar*)cmd.Field("fvarchar20").asString());
- }
提交当前事务
- con.Commit();
- printf("Rowsselected! ");
- }
- catch(SAException&x)
- {
异常处理
- try
- {
退出当前事务
- con.Rollback();
- }
- catch(SAException&)
- {
- }
显示错误信息
- printf("%s ",(constchar*)x.ErrText());
- }
- return0;
- }
SQLAPI++的官方网站是www.sqlapi.com,它提供评估版本给客户测试。可惜评估版本的库文件在连接数据库成功后,会弹出一个MessageBox对话框。我在测试它的时候觉得很烦,便把它破解掉了,如果需要可以到我的个人网站去下载它www.szsmart.net,不过只提供BCB的破解版本。
上述的相关内容就是对用C++库连接Oracle, MS SQL, MySQL数据库的描述,希望会给你带来一些帮助在此方面。
【编辑推荐】