淺析使用ADO.NET _RecordsetPtr接口
#T#經(jīng)常上網(wǎng)收集一些資料,古人云:一分耕耘,一分收獲,這里就給大家講講關(guān)于ADO.NET _RecordsetPtr接口。希望大家有收獲。_RecordsetPtr是一個(gè)記錄集對(duì)象。與以上兩種對(duì)象相比,它對(duì)記錄集提供了更多的控制功能,如記錄鎖定,游標(biāo)控制等。同_CommandPtr 接口一樣,它不一定要使用一個(gè)已經(jīng)創(chuàng)建的數(shù)據(jù)連接,可以用一個(gè)連接串代替連接指針賦給_RecordsetPtr的connection成員變量,讓它自己創(chuàng)建數(shù)據(jù)連接。如果你要使用多個(gè)記錄集,***的方法是同Command對(duì)象一樣使用已經(jīng)創(chuàng)建了數(shù)據(jù)連接的全局ADO.NET _RecordsetPtr接口,然后使用_RecordsetPtr執(zhí)行存儲(chǔ)過(guò)程和SQL語(yǔ)句。使用ADO.NET _RecordsetPtr接口(以連接SQL Server為例):
- _RecordsetPtr pPtr;
 - if (FAILED(pPtr.CreateInstance("ADODB.Recordset")))
 - {
 - AfxMessageBox("Create Instance failed!");
 - return FALSE;
 - }
 - CString strSRC;
 - strSRC="Driver=SQL Server;Server=";
 - strSRC+="210.46.141.145";
 - strSRC+=";Database=";
 - strSRC+="mydb";
 - strSRC+=";UID=sa;PWD=";
 - strSRC+="sa";
 - CString strSQL = "select id,name,gender,address from personal";
 - _variant_t varSRC(strSRC);
 - _variant_t varSQL(strSQL);
 - if(FAILED(pPtr->Open(varSQL,varSRC,adOpenStatic,adLockOptimistic,adCmdText)))
 - {
 - AfxMessageBox("Open table failed!");
 - pPtr.Release();
 - return FALSE;
 - }
 - while(!pPtr->GetadoEOF())
 - {
 - _variant_t varNo;
 - _variant_t varName;
 - _variant_t varSex;
 - _variant_t varAddress;
 - varNo = pPtr->GetCollect ("id");
 - varName = pPtr->GetCollect ("name");
 - varSex = pPtr->GetCollect ("gender");
 - varAddress = pPtr->GetCollect ("address");
 - CString strNo =(char *)_bstr_t(varNo);
 - CString strName =(char *)_bstr_t(varName);
 - CString strSex =(char *)_bstr_t(varSex);
 - CString strAddress =(char *)_bstr_t(varAddress);
 - strNo.TrimRight();
 - strName.TrimRight();
 - strSex.TrimRight();
 - strAddress.TrimRight();
 - int nCount = m_list.GetItemCount();
 - int nItem = m_list.InsertItem (nCount,_T(""));
 - m_list.SetItemText (nItem,0,strNo);
 - m_list.SetItemText (nItem,1,strName);
 - m_list.SetItemText (nItem,2,strSex);
 - m_list.SetItemText (nItem,3,strAddress);
 - pPtr->MoveNext();
 - }
 - pPtr->Close();
 - pPtr.Release();
 















 
 
 
 
 
 
 