一、环境配置
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; }