vc 6 0中MySql的使用

2021-06-18 00:59:43 字數 3990 閱讀 4311

一、mysql的安裝

(1)開啟vc6.0 工具欄tools選單下的options選項,在directories的標籤頁中右邊的「show directories for:」下拉列表中選中「includefiles」,然後在中間列表框中新增你本地安裝mysql的include目錄路徑。(我的是d:\program files\mysql\mysql server 5.0\include)。

(2)在上面說到的「show directories for:」下拉列表中選中「library files」,然後新增你本地安裝mysql的lib目錄路徑。lib目錄下還有debug和opt兩個目錄,建議選debug。(我的是d:\program files\mysql\mysql server 5.0\lib\debug)。

(3)在「project settings->link:object/library modules」裡面新增「libmysql.lib」。

(4)在stdafx.h裡面新增如下的內容:

(如果報'mysql' : missing storage-class or type specifiers等錯,要將標頭檔案加到對應類中)

#include "mysql.h"

#include "winsock.h" // 如果編譯出錯,則把該行放到#include "mysql.h"之前

#pragma comment(lib,"libmysql.lib")

// 如果在附加依賴項裡已增加,則就不要新增了

(5)建議將「libmysql.lib、libmysql.dll」拷到你所建的工程的目錄下。

開啟「開始->所有程式->mysql->mysql server 5.0->mysql command line client.exe」,如果沒有設定密碼就直接按回車,會提示伺服器啟動成功。

mysql> show databases;//顯示所有的資料庫,注意一定要 敲「;」後再按回車

mysql> create database mydb;//建立資料庫mydb

mysql> use mydb;//選擇你所建立的資料庫mydb

mysql> show tables; //顯示資料庫中的表

mysql> create table mytable (username varchar(100), visitelist varchar(200), remark varchar(200));//建立乙個表mytable: 使用者名稱;訪問列表;備註

mysql> describe mytable;//顯示表的結構

四、vc程式設計

mysql mysql; //資料庫連線控制代碼

mysql_init (&mysql);

if(!mysql_real_connect(&mysql,"localhost","root",null,"mydb",3306,null,0))

(1)實現新增 功能

cstring strusername,strlist,strremark,strsql;

strsql.format("insert into mytable(username,visitelist,remark) values(\'%s\',\'%s\',\'%s\')", strusername,strlist,strremark);//注意一定要寫在一行,而且必須要有\'\'

if(mysql_real_query(&mysql,(char*)(lpctstr)strsql,(uint)strsql.getlength())!=0)

(2)實現修改功能

cstring strusername,strlist,strremark,strsql,str_prename;//str_prename用於記錄想要修改的行,詳情請看源**

strsql.format("update mytable set username=\'%s\',visitelist=\'%s\', remark=\'%s\' where username=\'%s\'",strusername,strlist,strremark,str_prename);

if(mysql_real_query(&mysql,(char*)(lpctstr)strsql,(uint)strsql.getlength())!=0)

(3)實現刪除功能

cstring strsql;

strsql.format("delete from mytable where username=\'%s\'",str_prename);//必須要有\'\'

if(mysql_real_query(&mysql,(char*)(lpctstr)strsql,(uint)strsql.getlength())!=0)

(4)讀取**內容到clistctrl控制項m_list

m_list.deleteallitems();

char *ch_query;

ch_query="select * from mytable";

if(mysql_real_query(&mysql,ch_query,(uint)strlen(ch_query))!=0)

cstring str;

mysql_res *result;

mysql_row row;

if(!(result=mysql_use_result(&mysql)))

int i=0;

while(row=mysql_fetch_row(result))

mysql_free_result(result);

(5)關閉資料庫

mysql_close(&mysql);//最好寫到ondestroy()函式中
(6)測試**
#include #include #include "stdio.h"

mysql mysql, *sock; //mysql連線

mysql_res *res; //這個結構代表返回行的乙個查詢結果集

mysql_row row; //乙個行資料的型別安全(type-safe)的表示

char query[150]; //查詢語句

bool connectdatabase();     //函式宣告

void freeconnect();

bool querydatabase();

bool insertdata();

int main()

//連線資料庫

bool connectdatabase()

else

}//釋放資源

void freeconnect()

//查詢資料

bool querydatabase()

else

//獲取結果集

if (!(res=mysql_store_result(sock)))    //獲得sql語句結束後返回的結果集

//列印結果數

printf("number of fields returned: %d\n",mysql_affected_rows(sock));

//獲取欄位的資訊

printf("|\t%s\t|\t%s\t|\t%s\t|\n", mysql_fetch_field(res)->name,    //列印各欄位名

mysql_fetch_field(res)->name,mysql_fetch_field(res)->name);

//列印獲取的資料

while (row = mysql_fetch_row(res))      //獲取下一行

return true;

}//插入資料

bool insertdata()

else

}

VC 6 0使用感想

進公司這兩三周,一直在使用vc 6.0,以前在學校的時候,很瞧不起這個整合開發環境,覺得它又土又不好用,對它嗤之以鼻。但是使用這段時間以來,真心覺得任何一款整合開發工具都有其存在的道理,都很博大精神,如果你稍不留神,就會被其中的陷阱繞進去。下面就介紹一下 我使用vc 6.0 時遇到的問題,以及犯下的...

VC 6 0的簡單使用

學習重點 學習內容 工欲善其事,必先利其器,所以學習編譯器的使用很重要,windows環境下的編譯器比較多,vc 6.0就是其中比較經典的一款,接下來我們將學習其簡單使用 確定所用電腦已安裝vc 6.0 1.開啟vc6.0,一般桌面有其圖示,直接開啟就可以了,如果沒有,就單擊開始 2.開啟vc,出現...

在VC6 0中的除錯

3.設定資料斷點,和上面不同也就是表示式,換成了乙個全域性變數,並且在斷點對話方塊中,選中data選項卡,然後輸入全域性變數名,那麼當這個全域性變數的值發生給變時,程式就會中斷。4.設定訊息斷點 就是指斷點與訊息及相應的訊息處理函式 當某個訊息處理函式處理了乙個斷點訊息,程式將在訊息處理函式處中斷。...