一聚教程网:一个值得你收藏的教程网站

热门教程

C++连接mysql数据库实例代码

时间:2022-06-25 06:01:52 编辑:袖梨 来源:一聚教程网


下载第二个包,windows32位非安装版(个人觉得这个包干净)。目前的版本是Connector/C++ 1.0.5。
Windows (x86, 32-bit), ZIP Archive (mysql-connector-c++-noinstall-1.0.5-win32.zip)

将整个包解压到项目文件夹下的的源文件目录。文件夹名字太长,将“mysql-connector-c++-noinstall-1.0.5-win32”改为“mysql”。

下面要配置vs2008的环境。(vs2010也这么操作一样的)
1. 项目属性页->C/C++->General->Additional Include Directories。将mysql/include目录和mysql/include/cppconn目录添加进去。

2. 项目属性页->Linker->General->Additional Library Directories。将mysql/lib目录添加进去。

3. 项目属性页->Linker->Input->Additional Dependencies。添加这两项mysqlcppconn.lib,mysqlcppconn-static.lib(mysql/lib目录下的两个.lib文件)

4. 将mysql/lib下的mysqlcppconn.dll文件复制到windows/system32文件夹下。

环境配置完毕。

在连接数据库之前,先建立一张表。 (其实这些可以在代码中完成,我这样是为了让测试代码尽可能简练易查错,你也可以直接用phpmyadmin。)

打开控制台,输入mysql -u root -p,输入密码。
查看当前已有的数据库。(SQL语句末尾加上’;'表示立即执行当前语句。)

 代码如下 复制代码
mysql> show databases;
创建数据库
mysql> create database test;
使用数据库(这句不能加分号)
mysql> use test
查看已有的表
mysql> show tables;
创建表
mysql> create table testuser ( id INT, name CHAR(20));
插入数据
mysql> insert into testuser(id, name) values(1001, ‘google’);
mysql> insert into testuser(id, name) values(1002, ‘kingsoft’);
mysql> insert into testuser(id, name) values(1003, ‘firefox’);

下边是c++的测试代码:

 

 代码如下 复制代码
#include  
#include  
#include  
using namespace sql; 
using namespace std; 
void RunConnectMySQL()  

    mysql::MySQL_Driver *driver; 
    Connection *con; 
    Statement *state; 
    ResultSet *result; 
    // 初始化驱动 
    driver = sql::mysql::get_mysql_driver_instance(); 
    // 建立链接 
    con = driver->connect("http://127.0.0.1:3306", "root", "123"); 
    state = con->createStatement(); 
    state->execute("use test"); 
    // 查询 
    result = state->executeQuery("select * from testuser where id < 1002"); 
    // 输出查询 
    while(result->next()) 
    { 
        int id = result->getInt("ID"); 
        string name = result->getString("name"); 
        cout << id << " : " << name << endl; 
    } 
    delete state; 
    delete con; 

int main(int argc, char* argv[]) 

    RunConnectMySQL(); 
    getchar(); 
    return 0; 

热门栏目