一、环境配置
1、windows7系统
2、mysql
3、devc++ 5.3.0.3
4、安装MySQL.DevPak,下载地址:
http://downloads.sourceforge.net/dev-cpp/MySQL.DevPak
下载后双击安装, 安装完成后“工具->packagemanager”下会出现“MySQL”
单击“工具->编译选项->编译器->在连接器命令行中加入以下命令”,在文本框中添加-lmysql。
5、在devc++中添加mysql的lib和include文件。网上的方法是:“工具->编译选项->编译器->目录”中添加,但是我怎么添加都添加不进去。然后就用了一个最笨的方法,把mysql下面的lib和include文件夹直接复制到devc++安装目录下面的lib和include中,貌似也可行= =
二、下面开始写代码
#include <windows.h>
#include <mysql.h>
#include <stdio.h>
#include <stdlib.h>
#include <cstring>
#include <iostream>
using namespace std;
int main()
{
MYSQL mysql; //mysql连接
MYSQL_RES *res; //这个结构代表返回行的一个查询结果集
MYSQL_ROW row; //一个行数据的类型安全(type-safe)的表示
//char *query; //查询语句
string query;
int t,r;
mysql_init(&mysql);
//主机名,账号,密码,数据库名,端口号
if (!mysql_real_connect(&mysql,"localhost", "root", "xiaoquantou", "test",3306,NULL,0))
{
printf( "Error connecting to database%s\n",mysql_error(&mysql));
} else
printf("Connected...\n"); //连接上了
const char * q1 = "SET CHARACTER SET GBK"; //设置编码
t=mysql_real_query(&mysql,q1,(unsigned int)strlen(q1));
if(t)
{
printf("编码设置失败\n");
}
//const char* q2 =" select * from goods";
query = "select * from goods";
t=mysql_real_query(&mysql,query.c_str(),(unsigned int)strlen(query.c_str()));
//c_str()函数是c++中将string转化为const char*的函数
if(t)
{
printf("执行查询时出现异常: %s",mysql_error(&mysql));
}else
printf("[%s] 构建成功 \n",query.c_str());
res=mysql_store_result(&mysql);
while(row=mysql_fetch_row(res))
{
for(t=0;t <mysql_num_fields(res);t++)
{
printf("%s: ",row[t]);
}
printf("\n");
}
mysql_free_result(res);
//sleep(1);
scanf("%d",&t);
return 0;
}