您的位置:首页 > 编程语言 > C语言/C++

c语言连接 mysql

2014-08-06 15:51 239 查看
最近在研究数据库访问的性能,所以简单看了看mysql 的内存表。

开发环境: VC++6.0(英文原版) mysql5.5

开发环境的搭建:1.安装vc++6.0 以及 mysql5.5

2.添加所需头文件以及动态链接库。

(1).tools->options->Directories-> show directories for include files

将mysql->MySQL Server5.5 目录下的include 添加到这里面

(2)同理将mysql->MySQL Server5.5下的bin 以及lib 目录添加到 tools->options->Directories-> show directories for excutable files 下 和 show directories for Library下面

(3)在project ——>settings ——>link 在最后面添上 libmysql.lib (此项不填会报错)

至此完成开发环境的搭建

示例代码

#include "stdafx.h"
#include <time.h>
#include <winsock2.h>//刚开始的时候没有加这个头文件 结果报了一大堆错误
#include <windows.h>
#include <stdlib.h>
#include <mysql.h>
#pragma comment(lib,"libmysql.lib")
MYSQL *sql;
MYSQL_RES *result;
MYSQL_ROW row;
try{
sql= mysql_init((MYSQL*)0);
if(!mysql_real_connect(sql,"127.0.0.1","root","123456","test",3306,NULL,0)){	printf("Failedtoconnecttodatabase:Error:%s\n",mysql_error(sql));
printf("%s","数据库连接失败");
return 0;
}
printf("数据库连接成功");

mysql_set_character_set(sql,"gb2312");
start=clock();
for(int i=0;i<1000;i++){
mysql_query(sql,"INSERT INTO personinfo(personNo, personName) VALUES(1, '24k')");
result=mysql_store_result(sql);
if(!result){
printf("Inserted %lu rows\n", (unsigned long)mysql_affected_rows(sql));
}else{
fprintf(stderr, "Insert error %d: %s\n", mysql_errno(sql),
mysql_error(sql));
}
}
char *query="SELECT * FROM personInfo";
mysql_real_query(sql,query, strlen(query));
result=  mysql_store_result(sql);

while((row = mysql_fetch_row(result))){
for(int i=0;i<mysql_num_fields(result);i++){
printf( "%s\t" , row[i] );
}
printf("\n");

}
end =clock();
printf("执行时间:%f秒",(double)(end-start)/CLOCKS_PER_SEC);
}
catch(...){
printf("数据库连接异常");
return 0;
}
mysql_free_result(result);
mysql_close(sql);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: