VC連接MYSQL的方法總結(jié)_第1頁
VC連接MYSQL的方法總結(jié)_第2頁
VC連接MYSQL的方法總結(jié)_第3頁
VC連接MYSQL的方法總結(jié)_第4頁
VC連接MYSQL的方法總結(jié)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 #include <mysql.h> 導(dǎo)入一個(gè)#pragma comment(lib,"libmysql.lib")ADO連接mysql CoInitialize(NULL); _ConnectionPtr pConn(_uuidof(Connection); _RecordsetPtr pRst(_uuidof(Recordset); pConn->Open("Driver=MySQL ODBC 5.1 Driver;Server=;Database=test;uid=root;pwd=weiwen;","

2、;","",-1); /DSN,User,Pwd pRst=pConn->Execute("select * from user",NULL,adCmdText); while (!pRst->wenEOF) cout<<"ID:"<<(_bstr_t)pRst->GetCollect("id"); cout<<" Name:"<<(_bstr_t)pRst->GetCollect("name"

3、)<<endl; pRst->MoveNext(); pRst->Close(); pConn->Close(); pRst.Release(); pConn.Release(); CoUninitialize(); /ADO法訪問Mysql數(shù)據(jù)庫*/2.VC環(huán)境下使用mysql API函數(shù)訪問MySQL數(shù)據(jù)庫 1. 安裝MySQL的完整版;(在安裝過程中可以選擇) 2. 將C:Program FilesMySQLMySQL Server 5.0libopt目錄下的“l(fā)ibmysql.lib”文件復(fù)制到創(chuàng)建的VC工程目錄下; 3. 程序中包括頭文件,連入庫文件:#

4、include <winsock.h>#include "C:Program FilesMySQLMySQL Server 5.0includemysql.h"(數(shù)據(jù)庫的安裝路徑) #pragma comment(lib,"libmysql.lib") 4. 程序例子#include "stdafx.h"#include <winsock.h>#include "C:Program FilesMySQLMySQL Server 5.0includemysql.h" #pragma comme

5、nt(lib,"libmysql.lib") int main(int argc, char* argv) MYSQL mysql; MYSQL_RES *result; MYSQL_ROW row; mysql_init(&mysql); /初始化mysql結(jié)構(gòu) if(!mysql_real_connect(&mysql,"MyXp","UserDB","123456","userdata",0,NULL,0)/連接服務(wù)器 fprintf(stderr,"Failed

6、 to connect to database: Error: %sn", mysql_error(&mysql); /插入數(shù)據(jù)/ if(mysql_query(&mysql,"insert into UserDataTable values('rm','209','209','','23213','yjiang','','2010-04-01 10:53:12')")/進(jìn)行查詢 fprintf(s

7、tdout,"mysql_query() insert failed!n"); / / 查詢數(shù)據(jù) / if(mysql_query(&mysql,"select * from UserDataTable") fprintf(stdout,"mysql_query() select failed!n"); result = mysql_store_result(&mysql);/讀取一個(gè)到客戶的查詢的全部結(jié)果, /分配一個(gè)MYSQL_RES結(jié)構(gòu),并且把結(jié)果放進(jìn)這個(gè)結(jié)構(gòu)中。(獲得結(jié)果集) while (row = mysq

8、l_fetch_row(result)/取出結(jié)果集中記錄 fprintf(stdout,"UserName:%s password: %s Email:%s City:%s n",row0,row1,row3,row5);/輸出這行記錄 mysql_free_result(result); /釋放結(jié)果集 / /刪除數(shù)據(jù)/ if(mysql_query(&mysql,"delete from UserDataTable where UserName = 'chz'") fprintf(stdout,"mysql_query

9、() delete failed!n"); / /更新數(shù)據(jù)/ if(mysql_query(&mysql,"update UserDataTable set PassWord = 'lyj0662',ConPass = 'lyj0662' where UserName = 'lyj'") fprintf(stdout,"mysql_query() updata failed!n"); mysql_close(&mysql);/釋放連接 return 0;補(bǔ)充回答:VC ADO鏈接M

10、ySql數(shù)據(jù)庫ODBC方式鏈接。1、應(yīng)用程序的stdafx.h頭文件中(也可以在其他合適的地方)包含如下語句。#import "C:program filescommonfilessystemadomsado15.dll" no_namespacerename ("EOF","adoEOF") 2、鏈接數(shù)據(jù)庫CoInitialize(NULL); /初始化Com組件_ConnectionPtr conPtr; /數(shù)據(jù)庫鏈接指針 /conPtr.CreateInstance("ADODB.Connection");

11、/Connection用于與數(shù)據(jù)庫服務(wù)器的鏈接 conPtr.CreateInstance(_uuidof(Connection); /Connection用于與數(shù)據(jù)庫服務(wù)器的鏈接另一種方式 /*連接數(shù)據(jù)庫*/ try conPtr->ConnectionTimeout = 5; /設(shè)置連接時(shí)間 / MySqlTest為數(shù)據(jù)源名 localhost表示本地root表示用戶名 sa表示密碼 /鏈接方式1,使用這種方式鏈接時(shí)要注意在設(shè)置數(shù)據(jù)源時(shí)一定要選擇一個(gè)數(shù)據(jù)庫 /conPtr->Open("DSN=MySqlTest;server=localhost;",&qu

12、ot;root","sa",adModeUnknown);/連接MySql數(shù)據(jù)庫(測(cè)試成功) /鏈接方式2采用這種方式鏈接時(shí)在創(chuàng)建數(shù)據(jù)源時(shí)沒有必要選擇一個(gè)數(shù)據(jù)庫 conPtr->Open("DSN=MySqlTest;server=localhost;database=test;","root","sa",adModeUnknown);/連接MySql數(shù)據(jù)庫(測(cè)試成功) catch(_com_error e) /捕捉異常 AfxMessageBox(e.ErrorMessage(); CoUnini

13、tialize(); /釋放com組件/不知是否有必要 3、訪問數(shù)據(jù)庫_RecordsetPtr recordPtr;/數(shù)據(jù)集指針recordPtr.CreateInstance(_uuidof(Recordset);CString cmdStr=_T("selectname,stuno from student");/student為表名 該表中有兩個(gè)字段name(字符型)stuno(int型) try recordPtr->Open(_variant_t(cmdStr), conPtr.GetInterfacePtr(), adOpenDynamic, adLoc

14、kOptimistic, adCmdText); catch(_com_error e) AfxMessageBox(e.Description(); while(!(recordPtr->adoEOF) /獲取記錄 CStringname=(CString)recordPtr->GetCollect(_variant_t("name").bstrVal; intno=recordPtr->GetCollect(_variant_t("stuno").intVal; recordPtr->MoveNext(); recordPtr

15、->Close();/關(guān)閉記錄集 recordPtr.Release();/釋放空間 conPtr->Close();/關(guān)閉連接 conPtr.Release();/釋放空間 非ODBC方式鏈接。 鏈接數(shù)據(jù)庫CoInitialize(NULL); /初始化Com組件_ConnectionPtr conPtr; /數(shù)據(jù)庫鏈接指針 /conPtr.CreateInstance("ADODB.Connection"); /Connection用于與數(shù)據(jù)庫服務(wù)器的鏈接 conPtr.CreateInstance(_uuidof(Connection); /Connection用于與數(shù)據(jù)庫服務(wù)器的鏈接另一種方式/ MySQL ODBC 5.1 Driver為驅(qū)動(dòng)名稱(取決于我們?yōu)镸ySql安裝的驅(qū)動(dòng)),localhost為服務(wù)器地址,test為數(shù)據(jù)庫名,root為用戶名(MySql默認(rèn)用戶名為root),sa為密碼 CStringconStr=_T("Driver=MySQL ODBC 5.1 Driver ;Server= localhost;Database=test;"); /*連接數(shù)據(jù)庫*/ try co

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論