您好,欢迎访问一九零五行业门户网

ADO实现Access数据库表的遍历和字段的遍历

欢迎进入c/c++编程社区论坛,与200万技术人员互动交流 >>进入 网络上鲜有vc版的相关代码,今日学习了vc利用ado操纵数据库部分。查了一下msdn写了以下代: 遍历用户表的代码: coinitialize(null); _connectionptr pconn(__uuidof(connection)); _recordsetptr
欢迎进入c/c++编程社区论坛,与200万技术人员互动交流 >>进入
   网络上鲜有vc版的相关代码,今日学习了vc利用ado操纵数据库部分。查了一下msdn写了以下代:遍历用户表的代码:
  coinitialize(null);
 _connectionptr pconn(__uuidof(connection));
 _recordsetptr prs(__uuidof(recordset));
    pconn->connectionstring=\provider=microsoft.jet.oledb.4.0;data source=d:\\\\vc\\\\lesson20\\\\db.mdb;persist security info=false\;
 pconn->open(\\,\\,\\,adconnectunspecified);
    prs=pconn->openschema(adschematables);
 while (!prs->adoeof)
 {
  if (!strcmp((_bstr_t)prs->fields->getitem(\table_type\)->value,\table\))
  {
   m_tablelist.addstring((_bstr_t)prs->fields->getitem(\table_name\)->value);
      prs->movenext();
  }
  else
   prs->movenext();
 }
 prs->close();
 pconn->close();
    prs.release();
 pconn.release();
   couninitialize();
遍历字段的代码:
cstring str;
 m_tablelist.gettext(m_tablelist.getcursel(),str);//通过表列表框得到表的名称
 if (m_columnlist.getcount()>0)
 {
  m_columnlist.resetcontent();
 }
 coinitialize(null);
 _connectionptr pconn(__uuidof(connection));
 _recordsetptr prs(__uuidof(recordset));
    pconn->connectionstring=\provider=microsoft.jet.oledb.4.0;data source=d:\\\\vc\\\\lesson20\\\\db.mdb;persist security info=false\;
 pconn->open(\\,\\,\\,adconnectunspecified);
   prs=pconn->openschema(adschemacolumns);
 while (!prs->adoeof)
 {
  if (!strcmp((_bstr_t)prs->fields->getitem(\table_name\)->value,(_bstr_t)(lpctstr)str))
  {
   int index=m_columnlist.getcount();
  // m_columnlist.addstring((_bstr_t)prs->fields->getitem(\column_name\)->value);
            m_columnlist.insertstring(index,(_bstr_t)prs->fields->getitem(\column_name\)->value);
   prs->movenext();
  }
  else
   prs->movenext();
 }
 prs->close();
 pconn->close();
    prs.release();
 pconn.release();
   couninitialize();
其它类似信息

推荐信息