C++連接SQL數(shù)據(jù)庫分步驟進(jìn)行(共3頁)_第1頁
C++連接SQL數(shù)據(jù)庫分步驟進(jìn)行(共3頁)_第2頁
C++連接SQL數(shù)據(jù)庫分步驟進(jìn)行(共3頁)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上C+連接SQL數(shù)據(jù)庫分步驟進(jìn)行我們在進(jìn)行C+連接SQL數(shù)據(jù)庫的操作時(shí),首先應(yīng)該進(jìn)行相應(yīng)的系統(tǒng)配置,然后初始化C+與SQL連接,然后再進(jìn)行數(shù)據(jù)連接的操作,然后應(yīng)用SQL執(zhí)行語言來具體操作。AD: 每一種編程語言在應(yīng)用于程序開發(fā)中時(shí)都會有許多方法應(yīng)用于數(shù)據(jù)庫的操作。由于網(wǎng)上很多關(guān)于連接SQL數(shù)據(jù)庫的一些應(yīng)用沒有詳細(xì)的說明和完整的解決方法,所以我個(gè)人總結(jié)了一下。 另外由于本人能力有限,所以所寫內(nèi)容可能存在缺陷。 C+連接SQL數(shù)據(jù)庫第一步 系統(tǒng)配置1.設(shè)置SQLSERVER服務(wù)器為SQL登錄方式,并且系統(tǒng)安全性中的sa用戶要設(shè)置登錄功能為“啟用”,還有必須要有密碼。2.需要

2、在ODBC中進(jìn)行數(shù)據(jù)源配置,數(shù)據(jù)源選”SQL SERVER”,登錄方式使用“使用輸入用戶登錄ID和密碼的SQL SERVER驗(yàn)證”,并填寫登錄名(sa)和密碼,注意一點(diǎn),密碼不能為空,這就意味著你的sa用戶必須得有密碼。否則無法通過系統(tǒng)本身的安全策略。測試通過就完成了配置。C+連接SQL數(shù)據(jù)庫第二步 C+與SQL連接初始化1.在你所建立的C+項(xiàng)目中的stdafx.h頭文件中引入ADO具體代碼如下1. #import“c:ProgramFilesCommonFilesSystemadomsado15.dll”no_namespacerename(”EOF”,“adoEOF”)rename(”BO

3、F”,“adoBOF”)2.定義_ConnectionPtr變量后調(diào)用Connection對象的Open方法建立與服務(wù)器的連接。數(shù)據(jù)類型_ConnectionPtr實(shí)際上是由類模板_com_ptr_t得到的一個(gè)具體的實(shí)例類。_ConnectionPtr類封裝了Connection對象的Idispatch接口指針及其一些必要的操作。可以通過這個(gè)指針操縱Connection對象。例如連接SQLServer數(shù)據(jù)庫,代碼如下:1. /連接到MSSQLServer 2. /初始化指針 3. _ConnectionPtrpMyConnect=NULL; 4. HRESULThr=pMyConnect.Cr

4、eateInstance(_uuidof(Connection); 5. if(FAILED(hr) 6. return; 7. /初始化鏈接參數(shù) 8. _bstr_tstrConnect=“Provider=SQLOLEDB;9. Server=hch;10. Database=mytest;11. uid=sa;pwd=sa;”;/Database指你系統(tǒng)中的數(shù)據(jù)庫 12. /執(zhí)行連接 13. try 14. 15. /Open方法連接字串必須四BSTR或者_(dá)bstr_t類型 16. pMyConnect-Open(strConnect,“”,“”,NULL); 17. 18. catch

5、(_com_error&e) 19. 20. MessageBox(e.Description(),“警告”,MB_OK|MB_ICONINFORMATION); 21. /發(fā)生鏈接錯(cuò)誤C+連接SQL數(shù)據(jù)庫第三步 簡單的數(shù)據(jù)連接1. /定義_RecordsetPtr變量,調(diào)用它Recordset對象的Open,即可打開一個(gè)數(shù)據(jù)集 2. /初始化過程以下是個(gè)實(shí)例 3. _RecordsetPtrpRecordset; 4. if(FAILED(pRecordset.CreateInstance(_uuidof(Recordset) 5. 6. return; 7. 8. /執(zhí)行操作 9. try

6、 10. 11. pRecordset-Open(_variant_t(”userinfo”),_variant_t(IDispatch*)pMyConnect), 12. adOpenKeyset,adLockOptimistic,adCmdTable); 13. 14. catch(_com_error&e) 15. 16. MessageBox(”無法打開userinfo表”,“系統(tǒng)提示”,MB_OK|MB_ICONINFORMATION); 17. C+連接SQL數(shù)據(jù)庫第四步 執(zhí)行SQL語句這里是關(guān)鍵,我認(rèn)為只要你懂點(diǎn)SQL語句那么一切都會方便許多比用上面的方法簡單,更有效率點(diǎn)。首先1

7、. m_pConnection.CreateInstance(_uuidof(Connection);/初始化Connection指針 2. m_pRecordset.CreateInstance(_uuidof(Recordset);/初始化Recordset指針 3. CStringstrSql=”select*fromtb_goods”;/具體執(zhí)行的SQL語句 4. m_pRecordset=m_pConnection-Execute(_bstr_t(strSql),NULL,adCmdText);/將查詢數(shù)據(jù)導(dǎo)入m_pRecordset數(shù)據(jù)容器至此 你的SQL語句已經(jīng)執(zhí)行完成了m_pR

8、ecordset內(nèi)的數(shù)據(jù)就是你執(zhí)行的結(jié)果。取得記錄:1. while(!m_pRecordset-adoEOF)/遍歷并讀取name列的記錄并輸出 2. 3. CStringtemp=(TCHAR*)(_bstr_t)m_pRecordset-GetFields()-GetItem 4. (”name”)-Value; 5. AfxMessageBox(temp); 6. pRecordset-MoveNext(); 7. 插入記錄1. /記得初始化指針再執(zhí)行以下操作 2. CStringstrsql; 3. strsql.Format(”insertintotb_goods(no,name,

9、price)values(%d,%s,%d)”,m_intNo,m_strName,m_intPrice); 4. m_pRecordset=m_pConnection-Execute(_bstr_t(strsql),NULL,adCmdText);修改記錄1. CStringstrsql; 2. strsql.Format(”updatetb_goodssetname=%s,price=%dwhereno=%d“,m_strName,m_intPrice,m_intNo); 3. m_pRecordset=m_pConnection-Execute(_bstr_t(strsql),NULL,adCmdText);刪除記錄1. CStringstrsql; 2. strsql.Format(”deletefromtb_goodswhereno=%d“,m_intNo); 3. m_pRecordset=m_pConnec

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論