• <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年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            統計

            • 隨筆 - 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 隨意門 閱讀(239) 評論(0)  編輯 收藏 引用

            日本精品久久久中文字幕 | 亚洲狠狠婷婷综合久久久久| 婷婷久久综合九色综合九七| 午夜精品久久久久久久无码| 亚洲伊人久久成综合人影院| 亚洲伊人久久大香线蕉综合图片| 99久久国产综合精品女同图片| 成人久久精品一区二区三区| 国内精品久久久久久久亚洲| 国产精品日韩深夜福利久久| 国产午夜精品理论片久久 | 99久久精品免费看国产| 无码人妻久久一区二区三区蜜桃 | 草草久久久无码国产专区| 美女久久久久久| 国内精品人妻无码久久久影院| 国内精品久久久久久不卡影院| 久久久久久精品久久久久| 99久久精品国产一区二区| 99久久无色码中文字幕人妻| 精品国产一区二区三区久久蜜臀 | 97精品伊人久久久大香线蕉| 国内精品综合久久久40p| 草草久久久无码国产专区| 国内精品九九久久久精品| 久久精品免费一区二区| 国产精品免费久久久久久久久| 亚洲AV无一区二区三区久久| 伊人色综合久久天天网| 久久精品无码专区免费| 国产激情久久久久影院老熟女免费| 久久成人国产精品| 久久99精品久久久久久hb无码| 亚洲中文字幕无码久久2020| 久久国产欧美日韩精品| 亚洲国产成人久久精品99| 久久国产午夜精品一区二区三区| 青青草国产精品久久| 久久久久久a亚洲欧洲aⅴ| 久久久久久久99精品免费观看| 久久亚洲国产精品一区二区|