ADO开发中如何得到表格字段名

王朝vc·作者佚名  2006-01-17
宽屏版  字体: |||超大  

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;i<ColCount;i++)

{

fields-Item[i]-get_Name(&bstrColName);//得到记录集//中的字段名

strColName=bstrColName;

nameField = strColName;

m_FieldsList.AddString(nameField);

}

if(SUCCEEDED(hr))

fields-Release();//释放指针

(全文完)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有