<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
    隨筆-230  評論-230  文章-8  trackbacks-0
    今天寫的例子,只貼代碼,不使用文字說明.
    mysqltool.h
    #include <stdio.h>
    #include 
    <stdlib.h>
    #include 
    <winsock.h>
    #include 
    <mysql.h>


    int xinsert(MYSQL *mysql,char *strsql)
    {    
         
    int t; 
         MYSQL_RES 
    *res;
         t
    =mysql_real_query(mysql,strsql,(unsigned int)strlen(strsql));

         
    if(t){
               printf( 
    "Error id=%d  Error: %s\n",mysql_errno(mysql),mysql_error(mysql));
               
    return mysql_errno(mysql);
         }
    else{
             res
    =mysql_store_result(mysql);  
             printf(
    "插入行數(shù)=%d\n",mysql_affected_rows(mysql));
             mysql_free_result(res);
         }

         
    return 0;

    }

    int xupate(MYSQL *mysql,char *strsql)
    {    
         
    int t; 
         MYSQL_RES 
    *res;
         t
    =mysql_real_query(mysql,strsql,(unsigned int)strlen(strsql));
         
    if(t){
               printf( 
    "Error id=%d  Error: %s\n",mysql_errno(mysql),mysql_error(mysql));
               
    return mysql_errno(mysql);
         }
    else{
             res
    =mysql_store_result(mysql);  
             printf(
    "更新行數(shù)=%d\n",mysql_affected_rows(mysql));
             mysql_free_result(res);
         }
         
    return 0;
    }

    int xdelete(MYSQL *mysql,char *strsql)
    {    
         
    int t; 
         MYSQL_RES 
    *res;
         t
    =mysql_real_query(mysql,strsql,(unsigned int)strlen(strsql));
         
    if(t){
               printf( 
    "Error id=%d  Error: %s\n",mysql_errno(mysql),mysql_error(mysql));
               
    return mysql_errno(mysql);
         }
    else{
             res
    =mysql_store_result(mysql);  
             printf(
    "刪行數(shù)=%d\n",mysql_affected_rows(mysql));
             mysql_free_result(res);
         }
         
    return 0;

    }

    one.c 代碼如下:
    #include <stdlib.h>
    #include 
    <winsock.h>
    #include 
    <mysql.h>
    #include 
    <stdio.h>
    #include 
    <mysqltool.h>

    int main()
    {
          MYSQL mysql;     
    //mysql連接 
          MYSQL_RES *res; //這個(gè)結(jié)構(gòu)代表返回行的一個(gè)查詢結(jié)果集 
          MYSQL_ROW row; //一個(gè)行數(shù)據(jù)的類型安全(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"//設(shè)置編碼 
          t=mysql_real_query(&mysql,query,(unsigned int)strlen(query));
          
    if(t)
          {
               printf(
    "編碼設(shè)置失敗\n");
          }
          query
    =" select * from demo ";
          t
    =mysql_real_query(&mysql,query,(unsigned int)strlen(query));
          
    if(t)
          {
              printf(
    "執(zhí)行查詢時(shí)出現(xiàn)異常: %s",mysql_error(&mysql));
              
          }
    else
              printf(
    "[%s] 構(gòu)建成功 \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);
           
          t
    =mysql_real_query(&mysql,"SET AUTOCOMMIT =0",(unsigned int)strlen("SET AUTOCOMMIT =0"));
          
    if(t){
                printf(
    "啟用手工事務(wù)失敗\n");
          }
    else{
                printf(
    "啟用手工事務(wù)成功\n");
          }
          t
    =mysql_real_query(&mysql,"Begin ;",(unsigned int)strlen("Begin ;"));
          query
    ="insert into demo(name,age)values('老裴','89')";
          
    int inset_result=xinsert(&mysql,query);
          query
    ="delete  from demo  where name='老裴'";
          
    int delete_result=xdelete(&mysql,query);
          query
    ="update demo set name='裴屋村' where name='ccd' and inc_id=13";
          
    int update_result=xupate(&mysql,query); 
          
          query
    ="insert into demo(inc_id,name,age)values(16,'老裴','89')";//執(zhí)行會出現(xiàn)異常的語句 
          int fail_result=xinsert(&mysql,query);
          
          
    if(inset_result==0 && delete_result==0 && update_result==0 && fail_result==0){
               printf(
    "事務(wù)提交\n");
               t
    =mysql_real_query(&mysql,"COMMIT;",(unsigned int)strlen("COMMIT;"));
          }
    else{
               printf(
    "事務(wù)回滾\n");
               t
    =mysql_real_query(&mysql,"ROLLBACK;",(unsigned int)strlen("ROLLBACK;"));
          }
          
          
    return 0;  
    }

    posted on 2008-03-15 17:33 有貓相伴的日子 閱讀(2050) 評論(0)  編輯  收藏 所屬分類: unix/windows C 程序設(shè)計(jì)
    本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
    主站蜘蛛池模板: 亚洲精品无码不卡在线播HE| 亚洲天天做日日做天天看| 亚洲综合av一区二区三区| 亚洲AV日韩综合一区| 成年免费大片黄在线观看岛国| 亚洲国产一区二区三区青草影视| 男人的天堂网免费网站| 亚洲欧洲精品无码AV| 最近中文字幕大全免费版在线| 国产亚洲av片在线观看播放| 国产午夜无码精品免费看动漫| 亚洲丁香色婷婷综合欲色啪| 亚洲视频免费在线观看| 亚洲精品国产手机| 成人黄动漫画免费网站视频 | 一区二区三区观看免费中文视频在线播放 | 亚洲AV综合色区无码一二三区 | 一本无码人妻在中文字幕免费| 亚洲日韩国产精品乱-久| 又长又大又粗又硬3p免费视频| 8x网站免费入口在线观看| 四虎影永久在线高清免费| 91在线精品亚洲一区二区| 男性gay黄免费网站| 亚洲av高清在线观看一区二区| 亚洲va久久久噜噜噜久久| 菠萝菠萝蜜在线免费视频| 狠狠亚洲狠狠欧洲2019| 成人性生交大片免费看中文| 亚洲精品白色在线发布| 国产美女做a免费视频软件| 一个人看的hd免费视频| 亚洲午夜在线电影| 日本大片在线看黄a∨免费| 亚洲精品在线视频观看| 日韩人妻无码免费视频一区二区三区| 美女裸免费观看网站| 亚洲第一AV网站| 女同免费毛片在线播放| 亚洲一区二区免费视频| 2020因为爱你带字幕免费观看全集|