ADO实现Access数据库表的遍历和字段的遍历(VC版)
2007-08-15 19:38
253 查看
网络上鲜有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();
呵呵!记忆在这里了。
遍历用户表的代码:
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();
呵呵!记忆在这里了。
相关文章推荐
- ADO实现Access数据库表的遍历和字段的遍历(VC版)
- 如何使用VC+ADO修改access数据库中的字段名
- VC++中使用ADO方式操作ACCESS数据库(转载)
- 用vc实现对超长数据库字段的操作(2)转载
- VC/MFC中的ACCESS数据库访问实现
- 在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除
- VC++中使用ADO方式操作ACCESS数据库
- 用VC轻松实现 ADO.net
- VC用ADO连接ACCESS数据库入门
- Vc++中Ado动态创建access数据库
- 在MFC里面使用ADO访问微软的ACCESS数据库 实现增删改查
- 在VC中用ADO动态创建带密码的Access数据库
- VC++中使用ADO方式操作ACCESS数据库
- VC连接ADO方式ACCESS数据库在WIN7下编译到XP下不能运行解决方法
- VC++中ADO方式访问数据库datetime字段(不带毫秒时间与带毫秒时间)
- VC++中使用ADO方式操作ACCESS数据库
- vc中将access数据库表中的数据添加到一个ComboBox中,实现从数据库中添加ComboBox的属性
- VC通过ADO打开SQL SERVER数据库,并将其中的表、字段、数据显示出来的小程序
- VC下利用ADO访问Access数据库(Use ADO)(转载)
- vC++实现遍历桌面和快速启动里的所有快捷方式,判断快捷方式是不是浏览器,如果是则删除快捷方式参数