浅析使用ADO.NET _RecordsetPtr接口
创始人
2024-06-10 15:21:05
0

#T#经常上网收集一些资料,古人云:一分耕耘,一分收获,这里就给大家讲讲关于ADO.NET _RecordsetPtr接口。希望大家有收获。_RecordsetPtr是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。同_CommandPtr 接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给_RecordsetPtr的connection成员变量,让它自己创建数据连接。如果你要使用多个记录集,***的方法是同Command对象一样使用已经创建了数据连接的全局ADO.NET _RecordsetPtr接口,然后使用_RecordsetPtr执行存储过程和SQL语句。使用ADO.NET _RecordsetPtr接口(以连接SQL Server为例):

  1. _RecordsetPtr pPtr;  
  2. if (FAILED(pPtr.CreateInstance("ADODB.Recordset")))  
  3. {  
  4. AfxMessageBox("Create Instance failed!");  
  5. return FALSE;  
  6. }  
  7.  
  8. CString strSRC;  
  9. strSRC="Driver=SQL Server;Server=";  
  10. strSRC+="210.46.141.145";  
  11. strSRC+=";Database=";  
  12. strSRC+="mydb";  
  13. strSRC+=";UID=sa;PWD=";  
  14. strSRC+="sa";  
  15.  
  16. CString strSQL = "select id,name,gender,address from personal";  
  17.  
  18. _variant_t varSRC(strSRC);  
  19. _variant_t varSQL(strSQL);  
  20.  
  21. if(FAILED(pPtr->Open(varSQL,varSRC,adOpenStatic,adLockOptimistic,adCmdText)))  
  22. {  
  23. AfxMessageBox("Open table failed!");  
  24. pPtr.Release();  
  25. return FALSE;  
  26. }  
  27.  
  28. while(!pPtr->GetadoEOF())  
  29. {  
  30. _variant_t varNo;  
  31. _variant_t varName;  
  32. _variant_t varSex;  
  33. _variant_t varAddress;  
  34.  
  35. varNo = pPtr->GetCollect ("id");  
  36. varName = pPtr->GetCollect ("name");  
  37. varSex = pPtr->GetCollect ("gender");  
  38. varAddress = pPtr->GetCollect ("address");  
  39. CString strNo =(char *)_bstr_t(varNo);  
  40. CString strName =(char *)_bstr_t(varName);  
  41. CString strSex =(char *)_bstr_t(varSex);  
  42. CString strAddress =(char *)_bstr_t(varAddress);  
  43. strNo.TrimRight();  
  44. strName.TrimRight();  
  45. strSex.TrimRight();  
  46. strAddress.TrimRight();  
  47. int nCount = m_list.GetItemCount();  
  48. int nItem = m_list.InsertItem (nCount,_T(""));  
  49. m_list.SetItemText (nItem,0,strNo);  
  50. m_list.SetItemText (nItem,1,strName);  
  51. m_list.SetItemText (nItem,2,strSex);  
  52. m_list.SetItemText (nItem,3,strAddress);  
  53. pPtr->MoveNext();  
  54. }  
  55. pPtr->Close();  
  56. pPtr.Release(); 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...