c语言连接 mysql

最近在研究数据库访问的性能,所以简单看了看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;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值