连接工具包下载地址:http://download.csdn.net/detail/a415058975/8570065
我的环境:VS2010
系统:Win7 64
============================环境配置步骤=================================
0.选择压缩包,右键》解压到当前文件夹
1.项目右击》属性》VC++目录》库目录》添加压缩包解压文件夹路径
2.项目右击》属性》C/C++》常规》附加包含目录》添加压缩包解压文件夹路径
3.项目右击》属性》链接器》输入》附加依赖项》添加“libmySQL.lib”这一项
4.将libmySQL.dll放入C:\Windows中,否则会报错!
============================异常解决方案==================================
出现“转到COFF期间失败处理方法”请尝试将:
C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7601.17514_none_ba1c770af0b2031b(或者在C:\Windows\winsxs里搜索cvtres.exe然后定位到文件说在路径)里的cvtres.exe文件替换
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin里的cvtres.exe
若有不详则可参照:
http://zhidao.baidu.com/link?url=GGvp_AByR54Bs07WKSu7n82xrhSYph0LMsPqMkjGe6sl7xb3xzO_jtfBu6fom9m7NxAVQk2ZjMcraN6ijgGfmYU-DtRTYmy5MltNFZHAw_y
===========================C/C++测试用例===================================
//C测试用例
#include "stdafx.h"
#include <WinSock2.h>
#include <windows.h>
#include <stdio.h>
#include <mysql.h>
#define MAX_COLUMN_LEN 32
int main()
{
/* MYSQL *conn;
char *server = "localhost";
char *user = "root";
char *password = "1234";//“******”为你设置的密码
char *database = "pydb";
conn = mysql_init(NULL);
if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))
printf("连接失败:%sn", mysql_error(conn));
else
printf("连接成功!");
getchar();
return 0;*/
MYSQL *conn_ptr;
MYSQL_RES *res;
MYSQL_ROW row;
char *host = "127.0.0.1";
char *user = "root";
char *password = "1234";
char *db = "pydb";
unsigned int port = 0;
char *unix_socket = NULL;
unsigned long client_flag = 0;
conn_ptr = mysql_init(NULL);
if(!conn_ptr)
{
fprintf(stderr, "init mysql failed\n");
return(-1);
}
//连接数据库
conn_ptr = mysql_real_connect(conn_ptr, host, user, password, db, port, unix_socket, client_flag);
if(conn_ptr)
{
//进行字符集设置
if ( mysql_set_character_set( conn_ptr, "gbk" ) ) {
fprintf ( stderr , "错误, %s/n" , mysql_error( conn_ptr) ) ;
}
printf("Connection success......\n");
}
else
{
fprintf(stderr, "Connection failed......%d:%s\n", errno, strerror(errno));
}
//执行查询语句
if( mysql_query(conn_ptr, "select id,name,remark from tb1"))
{
fprintf(stderr, "call mysql_query failed......%d:%s\n",errno, strerror(errno));
}
//保存查询结果集
res = mysql_use_result(conn_ptr);
fprintf(stdout, "select id,name,remark from user table in the mysql database:\n");
//输出查询结果
while((row = mysql_fetch_row(res)))
{
fprintf(stdout, "%s\t%s\t%s\n", row[0], row[1],row[2]);
}
//释放结果集内存,关闭连接
mysql_free_result(res);
mysql_close(conn_ptr);
return 0;
}
//C++测试用例
#include "stdafx.h"
#include "winsock.h"
#include "mysql.h"
#include <iostream>
using namespace std ;
void _tmain ( int argc , _TCHAR* argv [ ] )
{
MYSQL * mysql ;
mysql = mysql_init ( NULL ) ;
char * sql = "select id,name,remark from tb1" ;
//char * sql="select columns from tb1";
MYSQL_RES * result ;
MYSQL_ROW row ;
int r , num ;
if ( mysql_real_connect ( mysql , "localhost" , "root" , "1234" , "pydb" , 3306 , NULL , 0 ) ) {
mysql_set_character_set ( mysql , "gbk" ) ;
if ( ! mysql_query ( mysql , sql ) ) {
result = mysql_store_result ( mysql ) ;
if ( result == NULL )
return ;
num = mysql_num_fields ( result ) ;
unsigned long * lengths = mysql_fetch_lengths ( result ) ;
while ( row = mysql_fetch_row ( result ) ) {
for ( r = 0 ; r < num ; r ++ ) {
cout << row [ r ] << ' ' ;
}
cout << endl ;
}
mysql_free_result ( result ) ;
}
mysql_close ( mysql ) ;
}
int a;
cin>>a;
}