e (!m_Recordset->adoEOF)
{
//得到表项的名字
tablesNcoms = m_Recordset->GetCollect("TABLE_NAME");
kooky = (char*) tablesNcoms;
//如果是表项,则加到ListBox 中
if (kooky.Left(4) != "MSys")
m_ListBox.AddString( kooky );
//移到下一个表项
枫叶文学网www.fywxw.com
Visual C++ 6.0 程序设计从入门到精通
·362·
m_Recordset->MoveNext();
}
}
//捕获例外_com_error
catch (_com_error &e)
{
GenerateError(e.Error(), e.Description());
}
//捕捉其他例外
catch(...) {}
//将变量中的值保存到控件中
UpdateData( FALSE );
//最后将结果集置为空
m_Recordset = NULL;
}
现在为“连接”按钮编写响应函数。具体步骤与为“数据源”按钮添加响应函数的一致,
只是Object IDs 下拉列表中选择Connect 按钮的ID:IDC_CONNECT,代码如下:
void CAdoTestView::OnConnect()
{
// TODO: Add your control notification handler code here
//更新变量值
UpdateData(TRUE);
try
{
//创建实例
m_Connection.CreateInstance(__uuidof(Connection));
//根据连接字符串开启数据连接
m_Connection->Open( _bstr_t( m_strConnection.GetBuffer(0) ), "", "", -1);
}
//捕获例外_com_error
catch (_com_error &e)
{
GenerateError(e.Error(), e.Description());
}
//捕捉其他例外
catch(...) {}
//将变量中的值保存到控件中
UpdateData( FALSE );
//显示表项名
getTables();
枫叶文学网www.fywxw.com
第12 章 数据库开发
·363·
}
按照顺序,为“cāo作”按钮编写响应函数。代码如下:
void CAdoTestView::OnExecute()