Home > Database > Mysql Tutorial > body text

连接MySQL,用C++库

WBOY
Release: 2016-06-07 16:11:38
Original
1233 people have browsed it

以下的文章主要介绍的是如何用C++库来对连接MySQL,Oracle与MS SQL数据库的实际操作步骤,我前几天在以信誉度比较好的网上找到一个关于SQLAPI++,可以说是一大惊喜,它是可以访问多个SQL数据库(Oracle(大型网站数据库平台)。 SQLServer,DB2,Sybase,Informix

以下的文章主要介绍的是如何用C++库来对连接MySQL,Oracle与MS SQL数据库的实际操作步骤,我前几天在以信誉度比较好的网上找到一个关于SQLAPI++,可以说是一大惊喜,它是可以访问多个SQL数据库(Oracle(大型网站数据库平台)。

SQLServer,DB2,Sybase,Informix,InterBase,SQLBase,MySQL(和PHP搭配之最佳组合),PostgreSQL)C++库。SQLAPI++直接调用本地目标数据库管理系统(DBMS)的API(不像ADO一样使用OLEDBand/orODBC中间层)。

SQLAPI++库扮演了一个中间件以间接方便访问数据库的角色,这就是为什么SQLAPI++是访问数据库最快的方法。在开发和发布您的应用程序时不再需要安装和配置OLEDBand/orODBC的驱动。

SQLAPI支持的开发平台有MicrosoftVisualC++,BorlandC++Builder,GunProjectCandC++Compiler。

示例代码如下:

<ol class="dp-xml">
<li class="alt"><span><span>#include</span><span class="tag"><span class="tag-name">stdio.h</span><span class="tag">></span><span> //forprintf  </span></span></span></li>
<li>
<span>#include</span><span class="tag"><span class="tag-name">SQLAPI.h</span><span class="tag">></span><span>//mainSQLAPI++header  </span></span>
</li>
<li class="alt"><span>intmain(intargc,char*argv[])  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>SAConnectioncon; </span></li>
</ol>
Copy after login

连接MySQL数据对象

<ol class="dp-xml">
<li class="alt"><span><span>SACommandcmd(  </span></span></li>
<li><span>&con,  </span></li>
<li class="alt"><span>"Selectfid,fvarchar20fromtest_tbl");  </span></li>
</ol>
Copy after login

命令对象,其中包含了一个查询语句,//你在测试的时候可以根据需要修改它。

<ol class="dp-xml">
<li class="alt"><span><span>try  </span></span></li>
<li><span>{  </span></li>
</ol>
Copy after login


连接数据库

在这个例程中连接的是Oracle(大型网站数据库平台)数据库,

当然它也可以连接Sybase,Informix,DB2

<ol class="dp-xml">
<li class="alt"><span><span>//SQLServer,InterBase,SQLBaseandODBC  </span></span></li>
<li><span>con.Connect("test","tester","tester",SA_Oracle(大型网站数据库平台)_Client); </span></li>
</ol>
Copy after login


执行查询语句

<ol class="dp-xml"><li class="alt"><span><span>cmd.Execute(); </span></span></li></ol>
Copy after login

显示查询后的结果

<ol class="dp-xml">
<li class="alt"><span><span>while(cmd.FetchNext())  </span></span></li>
<li><span>{  </span></li>
<li class="alt">
<span>printf("</span><span class="attribute">Rowfetched:fid</span><span>=%ld,</span><span class="attribute">fvarchar20</span><span>=</span><span class="attribute-value">'%s'</span><span> ",  </span>
</li>
<li><span>cmd.Field("fid").asLong(),  </span></li>
<li class="alt"><span>(constchar*)cmd.Field("fvarchar20").asString());  </span></li>
<li><span>} </span></li>
</ol>
Copy after login

提交当前事务

<ol class="dp-xml">
<li class="alt"><span><span>con.Commit();  </span></span></li>
<li><span>printf("Rowsselected! ");  </span></li>
<li class="alt"><span>}  </span></li>
<li><span>catch(SAException&x)  </span></li>
<li class="alt"><span>{ </span></li>
</ol>
Copy after login

异常处理

<ol class="dp-xml">
<li class="alt"><span><span>try  </span></span></li>
<li><span>{ </span></li>
</ol>
Copy after login

退出当前事务

<ol class="dp-xml">
<li class="alt"><span><span>con.Rollback();  </span></span></li>
<li><span>}  </span></li>
<li class="alt"><span>catch(SAException&)  </span></li>
<li><span>{  </span></li>
<li class="alt"><span>} </span></li>
</ol>
Copy after login

显示错误信息

<ol class="dp-xml">
<li class="alt"><span><span>printf("%s ",(constchar*)x.ErrText());  </span></span></li>
<li><span>}  </span></li>
<li class="alt"><span>return0;  </span></li>
<li><span>}  </span></li>
</ol>
Copy after login

SQLAPI++的官方网站是www.sqlapi.com,它提供评估版本给客户测试。可惜评估版本的库文件在连接MySQL数据库成功后,会弹出一个MessageBox对话框。我在测试它的时候觉得很烦,便把它破解掉了,如果需要可以到我的个人网站去下载它www.szsmart.net,不过只提供BCB的破解版本。


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template