欢迎进入c/c++编程社区论坛,与200万技术人员互动交流 >>进入 网络上鲜有vc版的相关代码,今日学习了vc利用ado操纵数据库部分。查了一下msdn写了以下代: 遍历用户表的代码: coinitialize(null); _connectionptr pconn(__uuidof(connection)); _recordsetptr
欢迎进入c/c++编程社区论坛,与200万技术人员互动交流 >>进入
网络上鲜有vc版的相关代码,今日学习了vc利用ado操纵数据库部分。查了一下msdn写了以下代:遍历用户表的代码:
coinitialize(null);
_connectionptr pconn(__uuidof(connection));
_recordsetptr prs(__uuidof(recordset));
pconn->connectionstring=\provider=microsoft.jet.oledb.4.0;data source=d:\\\\vc\\\\lesson20\\\\db.mdb;persist security info=false\;
pconn->open(\\,\\,\\,adconnectunspecified);
prs=pconn->openschema(adschematables);
while (!prs->adoeof)
{
if (!strcmp((_bstr_t)prs->fields->getitem(\table_type\)->value,\table\))
{
m_tablelist.addstring((_bstr_t)prs->fields->getitem(\table_name\)->value);
prs->movenext();
}
else
prs->movenext();
}
prs->close();
pconn->close();
prs.release();
pconn.release();
couninitialize();
遍历字段的代码:
cstring str;
m_tablelist.gettext(m_tablelist.getcursel(),str);//通过表列表框得到表的名称
if (m_columnlist.getcount()>0)
{
m_columnlist.resetcontent();
}
coinitialize(null);
_connectionptr pconn(__uuidof(connection));
_recordsetptr prs(__uuidof(recordset));
pconn->connectionstring=\provider=microsoft.jet.oledb.4.0;data source=d:\\\\vc\\\\lesson20\\\\db.mdb;persist security info=false\;
pconn->open(\\,\\,\\,adconnectunspecified);
prs=pconn->openschema(adschemacolumns);
while (!prs->adoeof)
{
if (!strcmp((_bstr_t)prs->fields->getitem(\table_name\)->value,(_bstr_t)(lpctstr)str))
{
int index=m_columnlist.getcount();
// m_columnlist.addstring((_bstr_t)prs->fields->getitem(\column_name\)->value);
m_columnlist.insertstring(index,(_bstr_t)prs->fields->getitem(\column_name\)->value);
prs->movenext();
}
else
prs->movenext();
}
prs->close();
pconn->close();
prs.release();
pconn.release();
couninitialize();