<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  評(píng)論-230  文章-8  trackbacks-0
    今天寫的例子,只貼代碼,不使用文字說(shuō)明.
    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;  //查詢語(yǔ)句 
          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í)行會(huì)出現(xiàn)異常的語(yǔ)句 
          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 有貓相伴的日子 閱讀(2034) 評(píng)論(0)  編輯  收藏 所屬分類: unix/windows C 程序設(shè)計(jì)
    本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
    主站蜘蛛池模板: 久久亚洲精品成人av无码网站 | 亚洲AV永久无码精品网站在线观看| 无码精品一区二区三区免费视频 | 亚洲国产精品高清久久久| 国产大片免费天天看| 亚洲国产小视频精品久久久三级| 亚洲国产成人AV网站| 免费h黄肉动漫在线观看| 免费高清A级毛片在线播放| 亚洲色一色噜一噜噜噜| 国产区在线免费观看| 亚洲av一综合av一区| 18禁美女裸体免费网站| 亚洲国产av高清无码| 久久免费看黄a级毛片| 亚洲欧美日韩自偷自拍| 亚洲欧洲日韩极速播放 | 亚洲国产美女福利直播秀一区二区| 99久久99久久精品免费观看| 久久久无码精品亚洲日韩京东传媒| 免费国产污网站在线观看15| 亚洲国产人成网站在线电影动漫 | 亚洲AV永久纯肉无码精品动漫 | 免费人成毛片动漫在线播放| 久久久久亚洲av无码专区喷水| 中文毛片无遮挡高潮免费| 亚洲五月综合网色九月色| 国产又粗又长又硬免费视频| eeuss草民免费| 久久亚洲私人国产精品vA| 啦啦啦www免费视频| 国产成人无码免费看片软件| 亚洲小视频在线播放| 精品国产免费观看| 国产免费MV大全视频网站| 亚洲国产成人九九综合| 亚洲综合色在线观看亚洲| 国产免费的野战视频| 国产成人无码精品久久久免费| 亚洲成人免费网站| 全亚洲最新黄色特级网站|