VisualC++0連接SQLServer2005數(shù)據(jù)庫的ADO方法_第1頁
VisualC++0連接SQLServer2005數(shù)據(jù)庫的ADO方法_第2頁
VisualC++0連接SQLServer2005數(shù)據(jù)庫的ADO方法_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、(1) Windows環(huán)境下,ODBC數(shù)據(jù)源的配置方法:1)開始T設(shè)置T控制面板T管理工具T雙擊“數(shù)據(jù)源(ODBC) ” 。2)在ODBC數(shù)據(jù)源管理器中,單擊“系統(tǒng) DSN”標(biāo)簽;單擊“添加(D) ”按鈕,并在“歹0表框”中選擇“SQL Server”,然后單擊“完成”。 如果已經(jīng)存在現(xiàn)有的數(shù)據(jù)源,則選擇指定的數(shù)據(jù)源后,單擊“配置”,轉(zhuǎn) 向?qū)υ摂?shù)據(jù)源進(jìn)行重新配置。3)在創(chuàng)建到SQL Server新數(shù)據(jù)源窗口(如圖10-4)中的“名稱(M): ” 右側(cè),輸入:VCSQLServer2005; “描述(D): ”右側(cè),輸入:VC SQL Server 2005; “服務(wù)器(S): ”右側(cè),輸入:指

2、定服務(wù)器的位置和名稱(通常使用默認(rèn)服務(wù)器,輸入一個英文字符半角圓點(diǎn).)。圖10-4 ODBC數(shù)據(jù)源設(shè)置4) 在創(chuàng)建到SQL Server新數(shù)據(jù)源窗口中,單擊“下一步(N) >”, 選擇“使用網(wǎng)絡(luò)登錄ID的Windows NT驗(yàn)證(W) ”或者“使用用戶輸 入登錄ID和密碼的SQL Server (S) ”(默認(rèn)選擇前者),然后單擊“下 一步(N) >”。5)在創(chuàng)建到SQL Server新數(shù)據(jù)源窗口中,勾選“更改默認(rèn)的數(shù)據(jù)庫 為(D): ”,并在其下方的下拉歹U表框中,選擇用戶連接的默認(rèn)數(shù)據(jù)庫(本例選擇:VcSqlAdoDB),然后單擊“下一步(N) >”,再單擊“完 成”。6

3、)在ODBC Microsoft SQL Server安裝窗口中,單擊“測試數(shù)據(jù)源(T)”,等待測試成功后,單擊“確定”完成數(shù)據(jù)源配置。(2) Windows 環(huán)境下,Visual C+ 6.0 連接 SQLServer 2005數(shù)據(jù)庫的 ADO方法:1)引入ADO庫定義文件,初始化COM庫使用# import把動態(tài)連接庫 msado15.dll導(dǎo)入Visual C+應(yīng)用程序,并 生成定義ADO庫的兩個C+頭文件:msado15.tlh和ado15.tli。即:# import "c:Program FilesCommon FilesSystemADOmsado15.dll"

4、; no_namespace rename("EOF”,"EndOfFile")使用CoInitialize ()初始化COM庫。即::CoInitialize(NULL);2)創(chuàng)建Connection對象,并使用Connection對象連接數(shù)據(jù)源。首先,添加一個指向 Connection對象的指針 m_pConnection。即:: _ConnectionPtr m_pConnection("ADODB.Connection");其次,創(chuàng)建Connection對象。即: m_pConnection.CreateInstance("A

5、DODB.Connection");再次,利用Connection對象的Open方法,通過DSN數(shù)據(jù)源對任何 支持ODBC數(shù)據(jù)源的數(shù)據(jù)庫進(jìn)行 ADO連接(默認(rèn)數(shù)據(jù)庫:VcSqlAdoDB )。 即:strConnect="DSN=VCSQLServer2005;Provider=MSDASQL;Server=(local); Database=VcSqlAdoDB; uid=sa; pwd=123;" m_pConnection->Open (strConnect,"","", adModeUnknown);技巧:st

6、rConnect必須是_bstr_t或者BSTR類型。如果是遠(yuǎn)程 數(shù)據(jù)庫,則Server改為指定網(wǎng)M (例如:192.168.1.5,3340 ;sa和123是數(shù)據(jù)庫的授權(quán)帳戶和密碼。3) 利用Connection對象,執(zhí)行SQL Server語句。在利用Connection對象連接數(shù)據(jù)源成功之后,就可以使用 Execute方 法執(zhí)行任意合法的SQL Server語句,相當(dāng)丁擁有了 SQL Server。即:char * SQLCommand= "SQL Server 語句"m_pConnection->Execute(SQLCommand, NULL, 1);例如:

7、在表StudentInfo刪除姓名為“ HappyTuple”的記錄。即: char * DeleteRecord = "DELETE FROM StudentInfo WHERESName='HappyTuple'"m_pConnection->Execute(DeleteRecord, NULL, 1);4) 創(chuàng)建Recordset對象,并使用 Recordset對象連接表。首先,添加一個指向 RecordsetM象的指針 m_pConnection。即: _RecordsetPtr m_pRecordset ("ADODB.Record

8、set");其次,創(chuàng)建Recordset對象。即:m_pRecordset.CreateInstance (_uuidof (Recordset);再次,利用 Recordset對象的Open方法,通過 Connection對象鏈接 到表(默認(rèn)表:StudentInfo)。即:bstrSQL("select * from StudentInfo");m_pRecordset->Open (bstrSQL, m_pConnection.GetInterfacePtr (), adOpenDynamic, adLockOptimistic, adCmdText)

9、;技巧:bstrSQL必須是_bstr_t或者BSTR類型。讀取表中記錄, 放入內(nèi)存緩沖區(qū) SQLCA (SQL Communication Area, SQL 通信區(qū)),同時把記錄集對象指向 SQLCAo5) 利用Recordset對象取得的結(jié)果記錄集,進(jìn)行記錄集的更新(添加、 修改和刪除)、查詢和處理。具體用法如下:獲取字段編號或者字段名對應(yīng)字段的值。即:m_pRecordset->GetCollect('字段名或者字段編號");把常量危者變量的值寫入字段名對應(yīng)的字段中。即:m_pRecordset->PutCollect('字段名", _v

10、ariant_t(常量或者變量);移動記患指針(游標(biāo))到首記錄。即: -m_pRecordset->MoveFirst();移動記患指針(游標(biāo))到末記錄。即:m_pRecordset->MoveLast();移動記患指針(游標(biāo)),從當(dāng)前記錄上移一個記錄。即:m_pRecordset->MovePrevious();移動記京指針(游標(biāo)),從當(dāng)前記錄下移一個記錄。即:m_pRecordset->MoveNext();移動記患指針(游標(biāo)),到表的第 n個記錄。即:m_pRecordset->AbsolutePosition=n;移動記錄指針(游標(biāo)),到表的第 n貞的第1

11、個記錄。即:m_pRecordset->AbsolutePage=n;設(shè)置每項(xiàng)的記錄個數(shù)為n。即:m_pRecordset->PageSize=n;根據(jù)PageSize的設(shè)置返回總貞數(shù)。即:m_pRecordset->PageCount();返回記患總數(shù)。即:m_pRecordset->recordcount();返回記錄指針是否超出數(shù)據(jù)表首端,True表示是,F(xiàn)alse為否。即: m_pRecordset->Bof();返回記錄指針是否超出數(shù)血表末端,True表示是,F(xiàn)alse為否。即:m_pRecordset->Eof();添加記泰到表的末記錄。如:m_pRecordset->AddNew();刪除當(dāng)扁記錄,但記錄指針(游標(biāo))不會向下移動。即:m_pRecordset->Delete();更新表記錄。即:m_pRecordset->Update();虹:如果移動記錄指針(游標(biāo))到結(jié)束處(即:末記錄的下一個記錄),并調(diào)用MoveNext方法,則ADO將產(chǎn)生錯誤。同 理,如果移動記錄指針到開始處(即:首記錄的上一個記錄), 并調(diào)用MovePrevious方法,貝U ADO將產(chǎn)生錯誤。6) 測試連接狀態(tài),關(guān)閉Recordset連接

溫馨提示

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

最新文檔

評論

0/150

提交評論