引导学思想开创IT培训新模式,以多层次Java培训为起点,知道自己要做什么
MySQL数据库 jQuery
返回首页

使用MySQL connector/C++链接MySQL数据库

时间:2010-04-12 00:30来源:浩为 作者:admin 点击:
首先去MySQL官网下载MySQL connector/C++ http://dev.mysql.com/downloads/connector/cpp/1.0.html 下载第二个包,windows32位非安装版(个人觉得这个包干净)。目前的版本是Connector/C++ 1.0.5。 Windows (x86, 32-b

  首先去MySQL官网下载MySQL connector/C++:http://dev.mysql.com/downloads/connector/cpp/1.0.html
  下载第二个包,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的环境。
  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文件夹下。
  环境配置完毕。

  在连接数据库之前,先建立一张表。 (其实这些可以在代码中完成,我这样是为了让测试代码尽可能简练易查错)
  打开控制台,输入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 "stdafx.h"  
#include <mysql_connection.h>  
#include <mysql_driver.h>  
#include <statement.h>  
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("tcp://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 _tmain(int argc, _TCHAR* argv[])  
{  
    RunConnectMySQL();  
    getchar();  
    return 0;  
}  
 

(责任编辑:admin)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名:密码: 验证码:点击我更换图片
推荐内容