Home  >  Article  >  Database  >  连接MySQL,用C++库

连接MySQL,用C++库

WBOY
WBOYOriginal
2016-06-07 16:11:381230browse

以下的文章主要介绍的是如何用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>

连接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>

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

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


连接数据库

在这个例程中连接的是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>


执行查询语句

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

显示查询后的结果

<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>

提交当前事务

<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>

异常处理

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

退出当前事务

<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>

显示错误信息

<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>

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


Statement:
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