我知道SQL得到数据库表名是select Name from sysobjects where xtype='u' and status>=0 打开数据集 _bstr_t mStrSQL; mStrSQL = "select Name from sysobjects where xtype='u' and status>=0"; m_pRecordset->Open(mStrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic, adLockOptimistic,adCmdText);帮我看看代码应该怎样改啊....谢谢 try { m_pRecordset->MoveFirst(); while(m_pRecordset->adoEOF==VARIANT_FALSE) { //Retrieve column's value: CString tbName=(char*)(_bstr_t)(m_pRecordset->Fields->GetItem (_variant_t("Name"))->Value);
//Do something what you want to do: m_dbtb.AddString(tbName); UpdateData(false); m_pRecordset->MoveNext(); } }//try catch (_com_error &e) { CString str=(char*)e.Description(); AfxMessageBox(str); }
打开数据集
_bstr_t mStrSQL; mStrSQL = "select Name from sysobjects where xtype='u' and status>=0";
m_pRecordset->Open(mStrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdText);帮我看看代码应该怎样改啊....谢谢
try
{
m_pRecordset->MoveFirst();
while(m_pRecordset->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
CString tbName=(char*)(_bstr_t)(m_pRecordset->Fields->GetItem
(_variant_t("Name"))->Value);
//Do something what you want to do:
m_dbtb.AddString(tbName);
UpdateData(false);
m_pRecordset->MoveNext();
}
}//try
catch (_com_error &e)
{
CString str=(char*)e.Description();
AfxMessageBox(str);
}
去看看吧
void CCountInfoView::InitType(CAdoDB& db)
{
m_cbxType.ResetContent(); CString strSQL = "";
try
{
strSQL = "SELECT ID, TYPE FROM TYPE ORDER BY ID ASC"; if(db.ExeSQLRs(_T(strSQL)) < 0)
{
CMessage::ShowErrorMsg(_T("初始化类型数据失败!\r\n"
"函数名称:InitType()\r\n"
"出错原因:\r\n"
"未知错误!"));
return;
}
m_cbxType.AddString("无类型"); while(!db.IsEOF())
{
int nID = db.GetCollectInt(0);
CString strType = db.GetCollectStr(1);
m_cbxType.AddString(strType); db.MoveNext();
}
db.CloseRs(); } catch(_com_error e)
{
CMessage::ShowErrorMsg(_T("初始化类型数据出错!\r\n"
"函数名称:InitType()\r\n"
"出错原因:\r\n"
"%s"),
CGlobal::PrintComError(e));
}
return;
}
封装ExeSQLRs的函数是:
int CAdoDB::ExeSQLRs(CString strSQL)
{
try
{
_variant_t var;
m_pRs = m_pCon->Execute(_bstr_t(strSQL), &var, adCmdText); return 0;
}
catch(_com_error e)
{
throw e;
} return -1;
}