使用ADO封装类的数据库程序开发实例(下)
2008-04-19 20:27:56 来源:WEB开发网7.4 其它功能(获取数据库信息)
我们还可以加一点另外的功能:在右边的树控件中显示数据库所拥有的表单和它们各自所拥有所有字段.这段主要是用来演示如何获得数据库的一些信息.
主要实现函数如下:
void CLeftBar::InitTree()
{
CAdoRecordSet rset;
_bstr_t Value;
CString strTablename = "";
HTREEITEM item = TVI_ROOT;
try
{
if (GetDocument()->m_adoConnection.GetConnection()->State != adStateOpen) return;
m_ctrlTree.DeleteAllItems();
//取得数据库字段信息---------------------------------------------
rset = GetDocument()->m_adoConnection.OpenSchema (adSchemaColumns);
while (!rset.IsEOF())
{
CString strValue;
//取得表名-----------------------------------------------
rset.GetValueString(strValue, "TABLE_NAME");
if (strValue != strTablename)
{
strTablename = strValue;
item = m_ctrlTree.InsertItem((LPCTSTR)strTablename, 1, 1);
}
//取得字段名--------------------------------------------
Value = rset.GetFields()->Item[L"COLUMN_NAME"]->Value;
m_ctrlTree.InsertItem((LPCTSTR)Value, 2, 2, item);
rset.MoveNext();
}
}
catch(_com_error e)
{
}
}
当然,你一样可以查询看数据库还拥有哪些视图,索引等信息. 这里还用到了CCoolControlBar类,但如何使用这里就不细说了,毕竟现在主要谈的是ADO,如果你对它有什么兴趣可以真接找我.:)
一个小查询器就差不多完成了。
八、其他参考信息(有很多我在源代码里面已有详细注释,就不一一重复了)
更多精彩
赞助商链接