在VC2008中使用"MySQL Connector/C++ "连接My_MySQL
最近参与一个项目,要在VC环境下编程访问数据库。
一般来说,VC下采用微软自身的SQL Server是比较常见的做法。但是我总觉得SQL Server只适合学习,不适合真正应用。再加上像我们这样一个算小也不小,算大也不大的项目来说,网上推荐的总是MySQL。基于这样的考虑,我们就选择了MySQL作为后台数据库。
C++语言本身并没有提供访问数据库的东西。因此一般我们要使用访问数据库的驱动。微软提供过一个ODBC的标准API,用于屏蔽各数据库底层细节,提供统一接口访问各个数据库。在MySQL官网上也能下到一个叫"Connector/ODBC"的driver,但是就在同一个网页上,又看到一个"Connector/C++"的driver,于是我就想,既然能专门针对C++语言提供一个driver,那这个应该比ODBC要效率高些吧。因此我就选择了他。
经过一番探索,终于搞定了数据库访问问题。废话不多说,下面就讲讲如何配置。
--------------------------------------------------------------------------------------------------------------------------
首先在http://www.mysql.com/downloads/上下载"Connector/C++"的driver,注意要下1.0.5版本的(最新的1.1.0版要使用一个神马库,麻烦)。下完后安装(或者免安装版的直接解压),完了之后在安装目录下会生成一个"MySQL Connector C++ 1.0.5"的文件夹,里面有两个子文件夹"include"及"lib",其中lib文件夹下又有一个debug文件夹和opt文件夹。
在VC中新建一个项目,
1.右击项目->属性->配置属性->"C/C++"->常规,在“附加包含目录”中将刚刚所说的"include"及"include/cppconn"的路径包含进来。
2.若在debug下,属性->配置属性->链接器->常规,在“附加库目录”中将刚刚所提的"lib"文件夹下的子文件夹"debug"的路径包含进来。若在release下,则将"opt"的路径包含进来。
3.属性->配置属性->链接器->输入,在“附加依赖项”中添加"mysqlcppconn.lib,mysqlcppconn-static.lib"这两项(这两项其实是"lib"文件夹下的两个lib文件)。
4.将"MySQL Connector C++ 1.0.5/lib/debug"下的"mysqlcppconn.dll"文件复制到windows/system32文件夹下或直接复制到项目所在路径下的debug文件夹下。(release下类似,复制".../lib/opt"下的即可。
5.将"MySQL安装目录/lib/opt"下的"libmysql.dll"文件复制到windows/system32文件夹下。
至此,整个运行环境就算配置好了。现在可以编写一段简单的代码测试一下。提供一段代码如下:
#include <iostream>#include <mysql_connection.h>#include <cppconn>#include <cppconn>#include <cppconn>#include <cppconn>#include <cppconn><br>using namespace sql;<br>using namespace std;<br>void RunConnectMySQL() <br>{<br> mysql::MySQL_Driver *driver;<br> Connection *con;<br> Statement *state;<br> ResultSet *result;<br> // 初始化驱动<br> driver = sql::mysql::get_mysql_driver_instance();<br> // 建立链接<br> con = driver->connect("tcp://127.0.0.1:3306", "root", "123");<br> state = con->createStatement();<br> state->execute("use test");<br> // 查询<br> result = state->executeQuery("select * from testuser where id // 输出查询<br> while(result->next())<br> {<br> int id = result->getInt("ID");<br> string name = result->getString("name");<br> cout }<br> delete state;<br> delete con;<br>}<br>int main()<br>{<br> RunConnectMySQL();<br> getchar();<br> return 0;<br>}</cppconn></cppconn></cppconn></cppconn></cppconn></mysql_connection.h></iostream>
当然,如果想让这段代码正确执行的话,首先得先在数据库里建一张对应的表(此处略去若干字)。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Artikel ini membincangkan menggunakan pernyataan jadual Alter MySQL untuk mengubah suai jadual, termasuk menambah/menjatuhkan lajur, menamakan semula jadual/lajur, dan menukar jenis data lajur.

Artikel membincangkan mengkonfigurasi penyulitan SSL/TLS untuk MySQL, termasuk penjanaan sijil dan pengesahan. Isu utama menggunakan implikasi keselamatan sijil yang ditandatangani sendiri. [Kira-kira aksara: 159]

Artikel membincangkan strategi untuk mengendalikan dataset besar di MySQL, termasuk pembahagian, sharding, pengindeksan, dan pengoptimuman pertanyaan.

Artikel membincangkan alat MySQL GUI yang popular seperti MySQL Workbench dan PHPMyAdmin, membandingkan ciri dan kesesuaian mereka untuk pemula dan pengguna maju. [159 aksara]

Artikel ini membincangkan jadual menjatuhkan di MySQL menggunakan pernyataan Jadual Drop, menekankan langkah berjaga -jaga dan risiko. Ia menyoroti bahawa tindakan itu tidak dapat dipulihkan tanpa sandaran, memperincikan kaedah pemulihan dan bahaya persekitaran pengeluaran yang berpotensi.

Artikel membincangkan menggunakan kunci asing untuk mewakili hubungan dalam pangkalan data, memberi tumpuan kepada amalan terbaik, integriti data, dan perangkap umum untuk dielakkan.

Artikel ini membincangkan membuat indeks pada lajur JSON dalam pelbagai pangkalan data seperti PostgreSQL, MySQL, dan MongoDB untuk meningkatkan prestasi pertanyaan. Ia menerangkan sintaks dan faedah mengindeks laluan JSON tertentu, dan menyenaraikan sistem pangkalan data yang disokong.

Artikel membincangkan mendapatkan MySQL terhadap suntikan SQL dan serangan kekerasan menggunakan pernyataan yang disediakan, pengesahan input, dan dasar kata laluan yang kuat. (159 aksara)
