- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ADO开发中怎样得到表格字段名
在数据库的开发过程中,常用的操作不仅有添加、修改、删除记录,还有对字段的操作,而获得字段名就是其中的一种。获得字段名之前必须先与数据库建立连接,再打开相应的表,再得到表的字段集,下面以一程序为例,说明如何得到字段名。
?? 新建一 VC MFCAppWizard(exe)工程,类型为Dialog based;
?? 添加一按钮名为“显示字段”,添加一 Listbox控件;
?? 创建 Access数据库FTI.mdb;
?? 运行效果如图所示:1. 代码说明 (1)在 stdafx.h 加入如下代码引入 ADO 库定义文件,
#import c:\program files\common files\system\ado\msado15.dll \
no_namespace \
rename (EOF, adoEOF)
(2)初始化COM库,在BOOL CGetFieldNameApp::InitInstance()中添加AfxOleInit();
(3)在类 CgetFieldNameDlg 中添加两个用于打开数据库连接和打开记录集的变量;
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
(4) 在CgetFieldNameDlg的构造函数中添加数据库连接和记录集初始化代码;
m_pConnection.CreateInstance(__uuidof(Connection));
try
{
m_pConnection-Open(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\FTI.mdb,
,
,
adModeUnknown
);
}
catch(_com_error e)
{
AfxMessageBox(数据库连接失败!);
}
m_pRecordset.CreateInstance(__uuidof(Recordset));
(5) 给Listbox控件添加控件变量m_FieldsList;(6) 在按钮的单击事件中添加相应代码;
_bstr_t mStrSQL;
CString strColName;
BSTR bstrColName;
long ColCount,i;
Field * field = NULL;
HRESULT hr;
Fields * fields = NULL;
LPCTSTR nameField;
//打开记录集,得到字段名,并将字段名信息添加到ListBox中
mStrSQL = SELECT * FROM Images;
m_pRecordset-Open(mStrSQL,
m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
hr = m_pRecordset-get_Fields (fields); //得到记录集的字段集和
if(SUCCEEDED(hr))
fields-get_Count(ColCount);
//得到记录集的字段集合中的字段的总个数
for(i=0;iColCount;i++)
{
fields-Item[i]-get_Name(bstrColName); //得到记录集//中的字段名
strColName=bstrColName;
nameField = strColName;
m_FieldsList.AddString(nameField);
}
if(SUCCEEDED(hr))
fields-Release();//释放指针
(全文完)
文档评论(0)