• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            興海北路

            ---男兒仗劍自橫行
            <2008年3月>
            2425262728291
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            統計

            • 隨筆 - 85
            • 文章 - 0
            • 評論 - 17
            • 引用 - 0

            常用鏈接

            留言簿(6)

            隨筆分類

            隨筆檔案

            收藏夾

            全是知識啊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            MySQL 5 C API 訪問數據庫例子程序
            /*****************************************************************
            以下是研究 mysql 5.0 得出的結果,描述并使用標準 c 演示了使用 MySQL
            C API 函數 簡單操作數據庫的流程;
            例子程序在 VC6 windows 2000 上調試通過
            *****************************************************************/

            #include <windows.h>
            #include <iostream>
            #include <mysql.h> //文件位于 MySQL 提供的 C API 目錄中
            using namespace std; 中國開源社區www.ossforge.com

            // linux 等系統中請加入 -lmysql
            #pragma comment( lib, "libmysql.lib")

            中國開源社區www.ossforge.com


            /*****************************************************************/
            ///name : main
            //function : 主測試函數
            //access : private
            //para :
            // 1. : int argc
            // : 系統參數個數
            // 2. : char * argv[]
            // : 參數數值
            //return : 返回給 startup 函數的退出參數
            //author : hzh
            //date : 2006-06-24
            /*****************************************************************/
            int main( int argc, char * argv[] )
            {
            MYSQL mydata; 中國開源社區www.openforge.cn

            //初始化數據結構
            if(mysql_init(&mydata) == NULL)
            {
            std::cout<<"init mysql data stauct fail"<<endl;
            return -1;
            }

            //連接數據庫
            if(argc == 1)
            {
            if(NULL == mysql_real_connect(&mydata,"127.0.0.1","root","mysql5",
            "hzhdb",MYSQL_PORT,NULL,0))
            {
            std::cout<<"connect database fail"<<endl<<mysql_error(&mydata)<<endl;
            return -1;
            }
            }else if(argc == 5)
            {
            if(NULL == mysql_real_connect(&mydata,argv[1],
            argv[2],argv[3],argv[4],MYSQL_PORT,NULL,0))
            {
            std::cout<<"connect database fail"<<endl<<mysql_error(&mydata)<<endl;
            return -1;
            }
            }
            else
            {
            std::cout<<"run parameter error"<<endl;
            return -1;
            } 中國開源社區www.openforge.cn

            std::string s_sql = "drop table hzhtest";
            if(mysql_query(&mydata,s_sql.c_str()) != 0)
            {
            //刪除表失敗
            mysql_close(&mydata);
            std::cout<<"drop table fail"<<endl<<mysql_error(&mydata)<<endl;
            }

            中國開源社區www.ossforge.com

            //創建數據表,字段 myid 設置了自增列屬性
            s_sql = "create table hzhtest(";
            s_sql = "myid integer not null auto_increment,";
            s_sql = "mytime datetime null,myname varchar(30),";
            s_sql = " primary key(myid))";
            if(mysql_query(&mydata,s_sql.c_str()) != 0)
            {
            //創建表失敗
            mysql_close(&mydata);
            std::cout<<"create table fail"<<endl
            <<mysql_error(&mydata)<<endl;
            return -1;
            } 中國開源社區www.openforge.cn

            //向表中插入數據
            for(int k = 1; k < 30; k)
            {
            s_sql = "insert into hzhtest(mytime,myname) values";
            s_sql = "('2006-06-";
            char buff[20];
            memset(buff,0,sizeof(buff));
            itoa(k,buff,10);
            s_sql = buff;

            中國開源社區www.ossforge.com

            s_sql = " ";

            中國開源社區www.openforge.cn

            int i = k % 3;
            memset(buff,0,sizeof(buff));
            itoa(i,buff,10);
            s_sql = buff;
            s_sql = ":01:01'"; 中國開源社區www.ossforge.com

            if(i == 0)
            {
            s_sql = ",NULL";
            }
            else
            {
            s_sql = ",'黃志輝";
            s_sql = buff;
            s_sql = "'";
            }
            s_sql = ")"; 中國開源社區www.openforge.cn

            if(mysql_query(&mydata,s_sql.c_str()) != 0)
            {
            //執行SQL語句出錯
            std::cout<<"execute insert syntax fail"<<
            endl<<mysql_error(&mydata)<<endl;
            mysql_close(&mydata) ;
            return -1;
            }
            }

            中國開源社區www.openforge.cn

            //查詢數據并顯示
            s_sql = "select myid,mytime,myname from hzhtest";
            if(mysql_query(&mydata,s_sql.c_str()) != 0)
            {
            //執行SQL語句出錯
            mysql_close(&mydata);
            std::cout<<"execute sql syntax fail"<<
            endl<<mysql_error(&mydata)<<endl;
            return -1;
            } 中國開源社區www.ossforge.com


            MYSQL_RES *result = mysql_store_result(&mydata);

            中國開源社區www.ossforge.com

            //取得查詢結果
            int rowcount = mysql_num_rows(result);
            //取得有效記錄數
            std::cout<<"exec sql: "<<s_sql.c_str()<<",row count: "<<rowcount<<endl;

            中國開源社區www.openforge.cn

            MYSQL_FIELD *fields = NULL;
            //取得各字段名
            for(int i = 0; fields = mysql_fetch_field(result); i)
            {
            std::cout<<fields->name<<"\t\t";
            }
            std::cout<<endl; 中國開源社區www.ossforge.com


            //依次讀取各條記錄
            MYSQL_ROW currrow = NULL;
            while((currrow = mysql_fetch_row(result)) != NULL)
            {
            //讀行的記錄
            for(int i = 0; i < mysql_num_fields(result); i)
            {
            std::cout<<(currrow[i] ? currrow[i] : "NULL")<<"\t";
            }
            std::cout<<endl;
            } 中國開源社區www.openforge.cn

            mysql_free_result(result) ;

            mysql_close(&mydata);

            system("pause"); 中國開源社區www.ossforge.com

            return 1;
            }

            posted on 2008-05-19 10:42 隨意門 閱讀(245) 評論(0)  編輯 收藏 引用

            色欲综合久久中文字幕网| 午夜精品久久久久9999高清| 午夜欧美精品久久久久久久| 精品久久久久久| 午夜精品久久久久| 久久国产高清字幕中文| 噜噜噜色噜噜噜久久| 99热成人精品热久久669| 午夜肉伦伦影院久久精品免费看国产一区二区三区| 久久亚洲国产精品123区| 久久精品无码专区免费东京热| 久久久久亚洲精品天堂久久久久久 | 久久99精品久久久久久齐齐| 久久九九久精品国产免费直播| 久久精品无码一区二区无码| 四虎国产精品成人免费久久| 精品一区二区久久久久久久网站| 欧美精品丝袜久久久中文字幕 | 日韩十八禁一区二区久久| 久久99精品久久久久久动态图 | yellow中文字幕久久网| 婷婷综合久久中文字幕蜜桃三电影| 久久精品无码一区二区app| 国产国产成人精品久久| 欧美日韩精品久久免费| 久久久久久国产精品美女 | 久久人做人爽一区二区三区| 久久综合给合综合久久| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久久久国产精品| 久久99国产精品久久99果冻传媒| 亚洲级αV无码毛片久久精品| 久久精品成人欧美大片| 亚洲中文字幕无码久久精品1 | 久久久久久a亚洲欧洲aⅴ| 72种姿势欧美久久久久大黄蕉| 乱亲女H秽乱长久久久| 久久99精品久久只有精品| 热99re久久国超精品首页| 国产午夜精品久久久久九九电影| 999久久久免费国产精品播放|