Maison base de données tutoriel mysql 连接MySQL,用C++库

连接MySQL,用C++库

Jun 07, 2016 pm 04:11 PM
c++ mysql principal 介绍 article 连接

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

示例代码如下:

1

2

3

4

5

6

7

8

9

<ol class="dp-xml">

<li class="alt"><span><span>#include</span><span class="tag"><span class="tag-name">stdio.h</span><span class="tag">&gt;</span><span> //forprintf  </span></span></span></li>

<li>

<span>#include</span><span class="tag"><span class="tag-name">SQLAPI.h</span><span class="tag">&gt;</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>

Copier après la connexion

连接MySQL数据对象

1

2

3

4

5

<ol class="dp-xml">

<li class="alt"><span><span>SACommandcmd(  </span></span></li>

<li><span>&amp;con,  </span></li>

<li class="alt"><span>"Selectfid,fvarchar20fromtest_tbl");  </span></li>

</ol>

Copier après la connexion

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

1

2

3

4

<ol class="dp-xml">

<li class="alt"><span><span>try  </span></span></li>

<li><span>{  </span></li>

</ol>

Copier après la connexion


连接数据库

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

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

1

2

3

4

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

Copier après la connexion


执行查询语句

1

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

Copier après la connexion

显示查询后的结果

1

2

3

4

5

6

7

8

9

10

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

Copier après la connexion

提交当前事务

1

2

3

4

5

6

7

<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&amp;x)  </span></li>

<li class="alt"><span>{ </span></li>

</ol>

Copier après la connexion

异常处理

1

2

3

4

<ol class="dp-xml">

<li class="alt"><span><span>try  </span></span></li>

<li><span>{ </span></li>

</ol>

Copier après la connexion

退出当前事务

1

2

3

4

5

6

7

<ol class="dp-xml">

<li class="alt"><span><span>con.Rollback();  </span></span></li>

<li><span>}  </span></li>

<li class="alt"><span>catch(SAException&amp;)  </span></li>

<li><span>{  </span></li>

<li class="alt"><span>} </span></li>

</ol>

Copier après la connexion

显示错误信息

1

2

3

4

5

6

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

Copier après la connexion

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


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La disposition des objets C++ est alignée sur la mémoire pour optimiser l'efficacité de l'utilisation de la mémoire La disposition des objets C++ est alignée sur la mémoire pour optimiser l'efficacité de l'utilisation de la mémoire Jun 05, 2024 pm 01:02 PM

La disposition des objets C++ est alignée sur la mémoire pour optimiser l'efficacité de l'utilisation de la mémoire

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4 Dec 09, 2024 am 11:42 AM

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Similitudes et différences entre Golang et C++ Similitudes et différences entre Golang et C++ Jun 05, 2024 pm 06:12 PM

Similitudes et différences entre Golang et C++

Comment implémenter le Strategy Design Pattern en C++ ? Comment implémenter le Strategy Design Pattern en C++ ? Jun 06, 2024 pm 04:16 PM

Comment implémenter le Strategy Design Pattern en C++ ?

Introduction détaillée des fonctions du Samsung S24ai Introduction détaillée des fonctions du Samsung S24ai Jun 24, 2024 am 11:18 AM

Introduction détaillée des fonctions du Samsung S24ai

Comment copier un conteneur STL C++ ? Comment copier un conteneur STL C++ ? Jun 05, 2024 am 11:51 AM

Comment copier un conteneur STL C++ ?

Quels sont les principes d'implémentation sous-jacents des pointeurs intelligents C++ ? Quels sont les principes d'implémentation sous-jacents des pointeurs intelligents C++ ? Jun 05, 2024 pm 01:17 PM

Quels sont les principes d'implémentation sous-jacents des pointeurs intelligents C++ ?

Comment implémenter la gestion des exceptions imbriquées en C++ ? Comment implémenter la gestion des exceptions imbriquées en C++ ? Jun 05, 2024 pm 09:15 PM

Comment implémenter la gestion des exceptions imbriquées en C++ ?

See all articles