• <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)  編輯 收藏 引用

            久久综合九色综合网站| 久久婷婷人人澡人人| 无码人妻久久一区二区三区| 日韩精品久久久久久免费| 精品综合久久久久久888蜜芽| 久久91精品国产91久久麻豆| 国产伊人久久| 久久精品99久久香蕉国产色戒 | 亚洲精品蜜桃久久久久久| 久久精品a亚洲国产v高清不卡| 国产精品VIDEOSSEX久久发布| 欧美成人免费观看久久| 狠狠色婷婷综合天天久久丁香 | 中文字幕无码久久精品青草| 久久久久久亚洲精品成人 | 久久久久久国产精品无码超碰| 亚洲国产精品婷婷久久| 久久久久波多野结衣高潮| 国产三级精品久久| 老司机国内精品久久久久| 国产精品亚洲综合久久| 久久国产高清一区二区三区| 久久91精品久久91综合| 丰满少妇人妻久久久久久| 7777久久久国产精品消防器材| 久久影视综合亚洲| 精品国产91久久久久久久a| 国产精品久久久久久久久| 久久精品九九亚洲精品| 久久精品国产亚洲αv忘忧草 | 久久精品国产亚洲AV高清热| 久久婷婷五月综合97色直播| 伊人色综合久久天天人守人婷 | 精品久久人人爽天天玩人人妻| 久久无码一区二区三区少妇 | 亚洲欧美日韩中文久久| 久久久久久久久久久精品尤物| 久久久亚洲裙底偷窥综合| 久久99热这里只频精品6| 亚洲人AV永久一区二区三区久久| 日日狠狠久久偷偷色综合0|