<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; //這個結(jié)構(gòu)代表返回行的一個查詢結(jié)果集 
          MYSQL_ROW row; //一個行數(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í)行查詢時出現(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è)計
    本站不再更新,歡迎光臨 java開發(fā)技術(shù)網(wǎng)
    主站蜘蛛池模板: 男女交性无遮挡免费视频| 人妻免费一区二区三区最新| 免费大学生国产在线观看p| 免费人成动漫在线播放r18| 亚洲啪啪综合AV一区| 亚洲人成网站免费播放| 国产精品亚洲色图| 久久久久亚洲AV无码专区首| 成人特黄a级毛片免费视频| 一区二区三区免费视频网站 | 亚洲精品白浆高清久久久久久| 日本免费在线观看| 亚洲av永久无码精品网址| 亚洲精品无码mv在线观看网站| 美女裸身网站免费看免费网站| 男女作爱免费网站| 亚洲国产成人在线视频| 亚洲av无码国产精品色在线看不卡| a级毛片毛片免费观看永久| 国产成人精品日本亚洲11| 亚洲熟妇无码乱子AV电影| 午夜视频在线在免费| 久久成人免费播放网站| 国产亚洲男人的天堂在线观看 | 亚洲高清专区日韩精品| 国产精品视_精品国产免费| 免费无码成人AV在线播放不卡| 免费人成动漫在线播放r18| jiz zz在亚洲| 在线免费观看亚洲| 亚洲综合久久夜AV | 永久免费视频v片www| 中文字幕免费在线看线人| 国产在线观看免费av站| 国产精品亚洲综合网站| 亚洲久悠悠色悠在线播放| 91亚洲va在线天线va天堂va国产| 国产亚洲色视频在线| 四虎永久免费影院| 青青青国产免费一夜七次郎| 亚洲精品在线免费观看视频|