欢迎来到小说阅读网-爱阅读
Time:

您的位置: 首页 >> 武侠

VC数据库编程技术应用

2019.06.20 来源: 浏览:1次

  ADO C++ Extensions

  实际上,如果你是用C++进行应用程序开发的话,就应该使用ADO C++ Extensions。我们知道,在VB或者用VBScript来操作ADO的话,是非常方便的,但是如果使用C/C++或者是Java的话,就必须要处理类似VARIANTs这样的数据结构,实现和C++数据结构的转换,而这个无疑是所有C++开发人员都很头疼的事情。但如果你使用C++扩展的话,ADO不需要从数据提供者处得到列信息。ADO在设计时刻使用开发人员提供的列信息。以下是一个简单的示例:

  file://创建和具体记录相对应的类

  class CAuthor : public CADORecordBinding

  {

  BEGIN_ADO_BINDING(CCustomRs1)

  ADO_VARIABLE_LENGTH_ENTRY4(1, adVarChar, m_szau_id, sizeof(m_szau_id), FALSE)

  ADO_VARIABLE_LENGTH_ENTRY4(2,adVarChar,m_szau_fname,sizeof(m_szau_fname), FALSE)

  ADO_VARIABLE_LENGTH_ENTRY4(3,adVarChar,m_szau_lname,sizeof(m_szau_lname), FALSE)

  END_ADO_BINDING()

  protected:

  char m_szau_id[12];

  char m_szau_fname[21];

  char m_szau_lname[41];

  };

  void FetchAuthorData()

  {

  CAuthor author;

  _RecordsetPtr pRs; file://记录集对象

  IADORecordBinding *piAdoRecordBinding;

  eateInstance(__uuidof(Recordset)); file://获取COM对象接口指针

  file://得到需要的记录集

  pRs-Open("select au_id, au_fname, au_lname from Employees",

  "Provider=SQLOLEDB;Data Source=sureshk1;Database=pubs;

  User Id=sa;Password=;",

  adOpenForwardOnly, adLockReadOnly, adCmdText);

  file://查询接口IADORecordBinding

  pRs-QueryInterface(__uuidof(IADORecordBinding),(LPVOID*)piAdoRecordBinding);

  file://和我们自己定义的对象相绑定

  piAdoRecordBinding-BindToRecordset(author);

  while (VARIANT_FALSE == pRs-EOF) file://得到记录中的相关内容

  {

  printf("%s %s %s", author.m_szau_id, author.m_szau_fname, author.m_szau_lname);

  pRs-MoveNext();

  }

  piAdoRecordBinding-Release(); file://释放对象

  }

脑供血不足手臂麻治疗方法
睡眠瘫痪症是怎么产生的
脑供血不足怎么办
Tags:
友情链接
治小便黄的中成药