WEB开发网
开发学院软件开发VC VC++6.0 中用 ADO 存取 Access 数据库的一点总结 阅读

VC++6.0 中用 ADO 存取 Access 数据库的一点总结

 2006-07-23 11:17:23 来源:WEB开发网   
核心提示: //如果数据库连接有效if(m_pConnection->State) m_pConnection->Close();m_pConnection= NULL;(3)、设置连接时间 //设置连接时间--- pConnection->put_ConnectionTimeou

//如果数据库连接有效

if(m_pConnection->State)
      m_pConnection->Close();
m_pConnection= NULL; 
(3)、设置连接时间 //设置连接时间----------------------------------- pConnection->put_ConnectionTimeout(long(5));2.打开一个结果集

(1)打开,首先创建一个_RecordsetPtr实例,然后调用Open()得到一条SQL语句的执行结果

_RecordsetPtr  m_pRecordset;
m_pRecordset.CreateInstance(__uuidof(Recordset));
// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
// 因为它有时会经常出现一些意想不到的错误。jingzhou xu
try
{
  m_pRecordset->Open("SELECT * FROM DemoTable",// 查询DemoTable表中所有字段
  m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
  adOpenDynamic,
  adLockOptimistic,
  adCmdText);
}
catch(_com_error *e)
{
  AfxMessageBox(e->ErrorMessage());
}
    
(2)关闭结果集 m_pRecordset->Close();3.操作一个结果集

(1)、遍历(读取)

a)、用pRecordset->adoEOF来判断数据库指针是否已经移到结果集的末尾了;m_pRecordset->BOF判断是否 在第一条记录前面: while(!m_pRecordset->adoEOF)
{
  var = m_pRecordset->GetCollect("Name");
  if(var.vt != VT_NULL)
    strName = (LPCSTR)_bstr_t(var);
  var = m_pRecordset->GetCollect("Age");
  if(var.vt != VT_NULL)
    strAge = (LPCSTR)_bstr_t(var);
  m_AccessList.AddString( strName + " --> "+strAge );
  m_pRecordset->MoveNext();
}
    
b)、取得一个字段的值的办法有两种办法

上一页  1 2 3 4 5  下一页

Tags:VC 中用 ADO

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接