浅析使用ADO.NET _RecordsetPtr接口

开发 后端
文章就ADO.NET _RecordsetPtr接口使用介绍,如果你要使用多个记录集,最好的方法是同Command对象一样使用已经创建了数据连接的全局ADO.NET _RecordsetPtr接口。

#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(); 
责任编辑:田树 来源: 人民邮电出版社
相关推荐

2009-11-12 10:06:01

ADO.NET读取数据

2009-11-13 10:10:07

2009-09-14 13:37:25

LINQ ADO.NE

2009-11-04 10:48:02

ADO.NET Dat

2009-11-03 17:46:50

ADO.NET Sel

2009-11-04 09:02:34

ADO.NET _C

2009-11-11 09:54:34

ADO.NET Rec

2009-07-06 10:43:51

ADO.NET

2009-12-28 15:11:36

ADO.NET专家

2009-12-29 14:09:17

ADO.NET通用接口

2009-11-12 15:00:03

ADO.NET实体数据

2009-11-12 13:26:56

使用ADO.NET参数

2009-11-13 14:38:45

ADO.NET Dat

2009-11-13 14:22:11

ADO.NET Dat

2009-12-25 10:25:59

2009-12-29 16:56:40

ADO.NET类和接口

2009-11-04 09:25:35

ADO.NET _Co

2009-11-03 16:37:10

2009-11-04 10:07:52

ADO.NET DbP

2009-10-29 10:34:31

ADO.NET使用技巧
点赞
收藏

51CTO技术栈公众号