MYSQL 和C

     

      最近做的一个项目要用到历史数据库,由于费用紧张就下了一个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等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值