c语言数据库怎么与程序链接,c语言如何链接到数据库

转载自:http://abirdofparadise.blog.hexun.com/8900253_d.html

#include  

#include           void   main(){           MYSQL   *mysql;           MYSQL_RES   *res;           MYSQL_ROW   row;           char   *query;           int   t,r;               mysql_init(mysql);           if   (!mysql_real_connect(mysql,"localhost","mysql",                     "mysql","deneme",0,NULL,0))           {                   printf(   "Error   connecting   to   database:   %s/n",mysql_error(mysql));           }           else   printf("Connected.../n");               query="select   *   from   Deneme";               t=mysql_real_query(mysql,query,(unsigned   int)   strlen(query));           if   (t)           {                 printf("Error   making   query:   %s/n",                                 mysql_error(mysql));           }           else   printf("Query   made.../n");           res=mysql_use_result(mysql);           for(r=0;r<=mysql_field_count(mysql);r++){                           row=mysql_fetch_row(res);                           if(row<0)   break;                           for(t=0;t     MySQL的变量类型和函数都包含在这个头文件当中         然后,我们需要创建连接数据库的变量,可以简单地这么做:         MYSQL   *mysql;     在连接数据库之前,我们要调用以下函数初始化这个变量:         mysql_init(MYSQL   *mysql)     然后         MYSQL   *   STDCALL   mysql_real_connect(MYSQL   *mysql,                                                                           const   char   *host,                                                                           const   char   *user,                                                                           const   char   *passwd,                                                                           const   char   *db,                                                                           unsigned   int   port,                                                                           const   char   *unix_socket,                                                                           unsigned   int   clientflag);         该函数被调用连接到数据库。host是MySQL服务器的主机名,user是登录的用户名,passwd是登录密码,db是要连接的数据库,port是MySQL服务器的TCP/IP端口,unix_socket是连接类型,clientflag是MySQL运行成ODBC数据库的标记。在这篇文章当中该标记设成0,连接寻建立后,这个函数返回0。         现在可以连接数据库,进行查询了:         char   *query;         使用这个字符串我们可以创立任何SQL查询语句进行查询。执行这个查询的函数是:         int   STDCALL   mysql_real_query(MYSQL   *mysql,                                                               const   char   *q,                                                               unsigned   int   length);         mysql是我们前面用过的变量,q是SQL查询语句,length是这个查询语句的长度。如果查询成功,函数返回0。       查询之后,我们要到一个MYSQL_RES变量来使用查询的结果。以下这行创立这个变量:         MYSQL_RES   *res;         然后       mysql_use_result(MYSQL   *query)         该函数读出查询结果。       尽管可以很容易地查询了,要用这个查询的结果还要用到其它的函数。第一个是:         MYSQL_ROW   STDCALL   mysql_fetch_row(MYSQL_RES   *result);         该函数把结果转换成“数组”。你可能注意到了,该函数返回的是MYSQL_ROW变量类型。以下语句创立那样的变量:       MYSQL_ROW   row;         如前所解释的,变量row是一个字符串数组。也就是说,row[0]是数组的第一个值,row[1]是数组的第二个值...当我们用mysql_fetch_row的时候,接着变量row会取得结果的下一组的数据。当到了结果的尾部,该函数返回一负值。最后我们要关闭这个连接:       mysql_close(MYSQL   *mysql)                 一些有用的函数     看看如何取得一个表格的字段,以下这个函数可能实现这个功能:       unsigned   int   STDCALL   mysql_num_fields(MYSQL   *mysql);         这个函数返回表格里有多少个字段。       取得“数据集”的数目,用:         my_ulonglong   STDCALL   mysql_num_rows(MYSQL_RES   *res);     my_ulonglong   STDCALL   mysql_affected_rows(MYSQL   *mysql);     这个函数是用来得到受INSERT,   DELETE,   UPDATE查询语句影响的“数据集”数目。注意该函数返回的数据类型是my_ulonglong

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值