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

            7777精品久久久大香线蕉| 国产人久久人人人人爽| 亚洲欧美一级久久精品| 天天影视色香欲综合久久| 久久天天躁夜夜躁狠狠| 久久久久久亚洲精品成人| 国产精品日韩深夜福利久久| 国产亚洲美女精品久久久| 日本欧美久久久久免费播放网| 国产精品久久久久久吹潮| 久久丝袜精品中文字幕| 国产三级久久久精品麻豆三级 | 国产精品99久久免费观看| 久久成人18免费网站| 人妻无码αv中文字幕久久琪琪布| 大美女久久久久久j久久| 久久久精品人妻一区二区三区蜜桃| 99999久久久久久亚洲| 蜜桃麻豆WWW久久囤产精品| 26uuu久久五月天| 久久久久久人妻无码| 久久精品国产亚洲AV久| 久久无码国产| 狠狠久久综合| 国产精品综合久久第一页| AV无码久久久久不卡蜜桃| 中文字幕精品久久久久人妻| 亚洲国产精品久久久久婷婷软件| 狠狠色噜噜色狠狠狠综合久久| 久久综合色之久久综合| 狠狠人妻久久久久久综合| 中文字幕亚洲综合久久2| 久久精品国产影库免费看| 久久精品www人人爽人人| 99久久99久久久精品齐齐| 精品国产青草久久久久福利| 欧美午夜精品久久久久久浪潮| 精品久久久久中文字幕日本| 人妻精品久久无码专区精东影业| 国产69精品久久久久777| 国产色综合久久无码有码|