vc6.0下c++连接mysql数据库


一   vc6.0连接mysql数据库

(1)打开VC6.0 工具栏Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加你本地安装MySQL的include目录路径。

(2)在上面说到的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录中的opt路径。

(3)在“Project settings->Link:Object/library modules”里面添加“libmysql.lib”。

(4)建议将“libmySQL.lib、libmySQL.dll”拷到你所建的工程的目录下。



二   使用C++执行简单的查询语句

#include "winsock.h"
#include "mysql.h"
#pragma comment(lib,"libmySQL.lib")
#include "stdio.h"
#include "string.h"
#include<iostream>
using namespace std;

struct conn_info {
	char *host;
	char *user;
	char *password;
	char *db;
};
/********************************连接数据库*****************************************************/
MYSQL* mysql_conn_setup(conn_info con){
	MYSQL* mysql=mysql_init(NULL);
	if(!mysql_real_connect(mysql,con.host,con.user,con.password,con.db,3306,NULL,0)){//mysql_real_connect(MYSQL *mysql,const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag)
		cout<<"connection error";
		exit(1);
	}
	return mysql;
}

/*******************************sql_Query就是要执行的查询语句,mysql_query就是要执行的查询函数***********************************************************/
MYSQL_RES* mysql_conn_sqlQuery(MYSQL* mysql,char *sql_Query){
	if(mysql_query(mysql,sql_Query)){
		 printf("MySQL query error : %s/n", mysql_error(mysql));  
		exit(1);
	}
	return mysql_use_result(mysql);//查询的结果
}

/****************************************************************************************/

void main(){
	MYSQL* conn;
	MYSQL_RES* res;
	MYSQL_ROW row;
	char sql_query[100];
	memset(sql_query,'\0',100);
	sprintf(sql_query,"select * from test");/显示所有表:show tables  插入数据:insert into test values("sss","ss","33","3")*/
	struct conn_info info;
	info.host="localhost";
	info.user="root";
	info.password="sa";
	info.db="dbtest";//我的数据库名字
	conn=mysql_conn_setup(info);
	res=mysql_conn_sqlQuery(conn,sql_query);
	cout<<"执行查询语句\n";
	while ((row = mysql_fetch_row(res)) != NULL){
		cout<<row[0]<<"  "<<row[1]<<"  "<<row[2]<<"  "<<row[3]<<endl;//显示的行数
		 
	}
	mysql_free_result(res);
	mysql_close(conn);
}







版权声明:本文为lyf08600231原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。