最近做的一个项目要用到历史数据库,由于费用紧张就下了一个MYSQL.MYSQL是一种小型关系型数据库管理系统,其体积小、速度快、总体拥有成本低。开始安装的时候选的是CUSTTOM,安装完在VS里添加包含文件和库文件的时候,发现MYSQL文件夹下没有这两个文件夹。重新安装MYSQL,选complete安装完后,这时在MYSQL文件下就有了include 和lib这两个文件夹。把这两文件夹添加到工程。编译通过,运行的时候出出现“没有找到libmysql.dll”错误。把mysql/ bin下的libmysql.dll复制到C:/WINDOWS/system,就OK了。记得在头文件里要包含mysql.h和libmysql.lib。
用C语言操作MYSQL数据库,主要用到的API函数如下例子:
-------------------------------------------------------------------------------------------------------------------------------------------
MYSQL mysql,*sock; //定义数据库连接的句柄,它被用于几乎所有的MySQL函数
mysql_init(&mysql); //初始化MySQL服务器
//获得连接
if (!(sock = mysql_real_connect(&mysql,"localhost","root","","avc2",0,NULL,0))) {
fprintf(stderr,"Couldn't connect to engine!/n%s/n/n",mysql_error(&mysql));
perror("");
exit(1);
}
-------------------------------------------------------------------------------------------------------------------------------------------
char sql_command[1000];
//创建表
sprintf(sql_command,"create table %s(id INT(10),sd INT(10),stn_descr VARCHAR(45), sbus_descr VARCHAR(45),kv FLOAT,isbus INT(10))",tabname_daily_kv);
if(mysql_query(sock,sql_command))
{
printf("Couldn't get result from %s/n", mysql_error(sock));
printf("/n Warning---%ld",__LINE__); }
-------------------------------------------------------------------------------------------------------------------------------------------
//插入内容
sprintf(sql_command,"insert into %s(id,sd,stn_descr,sbus_descr,kv,isbus)values(%d,%d,'%s','%s',%f,%d)",tabname_daily_kv,j,k,stn_descr,sbus_descr,vp->vday288[k],m);
if(mysql_query(sock,sql_command))
{
printf("Couldn't get result from %s/n", mysql_error(sock));
printf("/n Warning ---%ld",__LINE__);
}
-------------------------------------------------------------------------------------------------------------------------------------------
//更新表
sprintf(sql_command,"update %s set kv=%lf where sd=%ld and stn_descr='%s' and sbus_descr='%s'",tabname_daily_kv,vp->vday288[vp->sd],vp->sd,stn_descr,sbus_descr);
if(mysql_query(sock,sql_command))
{
printf("Couldn't get result from %s/n", mysql_error(sock));
printf("/n Warning --%ld",__LINE__);
}
-------------------------------------------------------------------------------------------------------------------------------------------
用C语言操作MYSQL,主要用到的API函数是 mysql_query(a,b). a参数是连接数据库返回的数据库连接句柄,b参数是mysql的操作语句,也就是在commond输入的语句,比如select, update,insert等。