Windows平台下Mysql C程序设计

一、哆嗦一下

从打开始学编程以来,接触的第一门真正的编程语言是Cfoxbase不算),想当年俺自学完浩强叔那本《C语言程序设计》时,老师才开始教pascal。自毕业以来一直没有机会写过有应用价值的C程序,从Delphi做到J2EE。打算从现在开始利用业余时间学习Pro*CMysql C,也不知为啥对C念念不忘,却没机用C来写程序。

二、开发环境

1、 windowsXP

2、 mysql 5.0.22

3、 Dev-C++ 4.9.9.2

4、 Mysql C for Dev-Cpp (MySQL.DevPak)

a)         用过Dev-C++的人都应该知道devpak吧我就不详说,如果你用的是C++,请下载(mysqlpp-2.3.2-gcc3.4.2-1due.DevPak)

b)        MySQL.DevPak 下载地址: http://downloads.sourceforge.net/dev-cpp/MySQL.DevPak

三、安装及配置

1、双击MySQL.DevPak文件,按步骤把这开发包安装完成。直到package Mangaer 出现“MySQL”即可。

2、单击“工具”->“编译选项”->“编译器”->“在连接器命令行中加下以下命令”(选择),在下面的文本框中添加-lmysql 

3、在Dev-C++中添加mysqllibinclude 文件,具体方法:

       “工具”->“编译选项”->“编译器”->“目录” 中添加

四、例程代码

#include <stdlib.h>

#include <winsock.h>

#include <mysql.h>

#include <stdio.h>

/*

 Name: 测试例子

 Copyright: http://www.blogjava.net/pdw2009  

 Author: 裴德万

 Date: 09-03-08 18:14

 Description:

*/

int main()

{

      MYSQL mysql;     //mysql连接

      MYSQL_RES *res; //这个结构代表返回行的一个查询结果集

      MYSQL_ROW row; //一个行数据的类型安全(type-safe)的表示

      char *query; //查询语句

      int t,r;

      mysql_init(&mysql);

      if (!mysql_real_connect(&mysql,"localhost", "lottobar", "123456", "lottobar",3306,NULL,0))

      {

         printf( "Error connecting to database: %s"n",mysql_error(&mysql));

      } else

         printf("Connected..."n");

      query="SET CHARACTER SET GBK"; //设置编码

      t=mysql_real_query(&mysql,query,(unsigned int)strlen(query));

      if(t)

      {

           printf("编码设置失败"n");

      }

      query=" select * from demo ";

      t=mysql_real_query(&mysql,query,(unsigned int)strlen(query));

      if(t)

      {

          printf("执行查询时出现异常: %s",mysql_error(&mysql));

      }else

          printf("[%s] 构建成功 "n",query);

      res=mysql_store_result(&mysql);

      while(row=mysql_fetch_row(res))

      {                              

           for(t=0;t<mysql_num_fields(res);t++)

           {

               printf("%s"t",row[t]);

           }

           printf(""n");

      }

      mysql_free_result(res);

      sleep(1);

      return 0; 

}

五、注意事项

Windows C程序设只要涉及网络的都应该加上这两个文件,否则肯定出错

#include <stdlib.h>

#include <winsock.h>

Mysql C乱码的解决方式

query="SET CHARACTER SET GBK"; //设置编码

t=mysql_real_query(&mysql,query,(unsigned int)strlen(query));

       如果你有问题可以到www.blogjava.net/pdw2009去交流



该文属作者原创,转载请注明出: http://www.blogjava.net/pdw2009

http://hi.baidu.com/leeyou1450/blog/item/78fdd438ec9986f63a87ceaa.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值