如何使用ADO得到数据库名称

fcxj 2006-05-11 03:29:42
问题:
数据库服务器SQL Server有若干数据库,使用ADO如何能得到这些库的名称?
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcxj 2006-05-11
  • 打赏
  • 举报
回复
m_pRecordset=theApp.m_pConnection->OpenSchema(adSchemaCatalogs);
...
_bstr_t table_name = m_pRecordset->Fields->GetItem("CATALOG_NAME")->Value;

好了。
得到了
fcxj 2006-05-11
  • 打赏
  • 举报
回复
但是目下openschema的参数得出的是默认数据库的表名,而不是系统内的数据库名,没查到该怎么办
fcxj 2006-05-11
  • 打赏
  • 举报
回复
先感谢 syy64(太平洋)
感谢在这里解难答疑的大虾们
syy64 2006-05-11
  • 打赏
  • 举报
回复
BOOL CDlgRecordset::GetMicTable()
{
try
{
m_pRecordset=theApp.m_pConnection->OpenSchema(adSchemaTables);

while(!(m_pRecordset->adoEOF))
{
//»ñÈ¡±í¸ñ
_bstr_t table_name = m_pRecordset->Fields->GetItem("TABLE_NAME")->Value;
//»ñÈ¡±í¸ñÀàÐÍ
_bstr_t table_type = m_pRecordset->Fields->GetItem("TABLE_TYPE")->Value;
//¹ýÂËһϣ¬Ö»Êä³ö±í¸ñÃû³Æ£¬ÆäËûµÄÊ¡ÂÔ
if ( strcmp(((LPCSTR)table_type),"TABLE")==0)
{
m_cmbTable.AddString((LPCSTR)table_name);
}
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
}
catch(_com_error e)///²¶×½Òì³£
{
::MessageBox(NULL,e.Description(),"Ìáʾ",MB_OK);
return FALSE;
}

return true;

}

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧