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();//释放指针

(全文完)

本文配套源码

时间: 2024-08-18 07:35:13

ADO开发中如何得到表格字段名的相关文章

查询算法-vb将list中所有内容作为字段名查询

问题描述 vb将list中所有内容作为字段名查询 如题,如何将vb的list控件中所有内容作为字段名查询???????????

mongodb的java开发中使用两个字段相等查询条件应该怎么写?

问题描述 mongodb的java开发中使用两个字段相等查询条件应该怎么写? 也就是类似sql中的where 字段A=字段B这样的条件,我查了下网上有些帖子中写的用$where的方式我查询的时候会出错,类似于:new Document("$where",new Document("字段A", "字段B")),驱动版本是3.0 在网上查到一个帖子:http://cache.baiducontent.com/c?m=9d78d513d99c1cf30

输入字段名 查询表中是否存在该字段名?

问题描述 输入字段名查询表中是否存在该字段名?用c#如何编写程序啊最好写在类里 解决方案 解决方案二:try{sql="SELECT字段FROM表";conn.ExcuteNonQuery();}catch(sqlExceptionexp){//没有字段就会出异常的} 解决方案三:selectname,object_name(id)fromsyscolumns解决方案四:所有的表名,字段名,存储过程名,Index名,都可以在数据库中查到,涉及到几个系统表,比如SysColumns,Sy

sql中count(*)和count(字段名)区别

以前没有注意两者的区别,看博客园的文章,还真引起了我的注意. 数据测试:见图 sql 语句见分晓: SELECT COUNT(*) c1 ,COUNT(ADDRESS) c2 FROM test 显而易见,count(*)统计的是结果集的总条数,count(字段名)统计的是该字段值不为null的总条数 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据 , 测试 null sql查询表的字段名.sql 修改字段名.sql

OLEDB Resource(Session) Pooling (在Ado开发中使用连接池)

ado|session   Oracle: OLEDB Resource(Session) Poolingby Eric Ma EMa@ompus.jnj.com Database connectivity is a prerequisite for today's dynamically generated web pages. However, connection to databases is one of the most expensive operations one does f

ASP开发中数据库文件调用

数据|数据库 引言    本文针对ASP程序设计中最基础.也是最关键的部分"数据库文件的调用"进行说明,同时谈谈ASP程序设计中数据库文件调用的一些技巧.    ASP简介    ASP(Active Server Pages)是微软于1996年推出的Web应用程序开发技术,它是一种脚本语言.ActiveX组件及HTML语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的.交互的.高性能的Web服务器应用程序".其主要功能是为生成动态的.交

ASP开发中数据库文件调用的捷径

数据|数据库 引言 本文针对ASP程序设计中最基础.也是最关键的部分"数据库文件的调用"进行说明,同时谈谈ASP程序设计中数据库文件调用的一些技巧. ASP简介 ASP(Active Server Pages)是微软于1996年推出的Web应用程序开发技术,它是一种脚本语言.ActiveX组件及HTML语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的.交互的.高性能的Web服务器应用程序".其主要功能是为生成动态的.交互式的Web服务器

ASP开发中数据库文件调用的捷径_应用技巧

引言  本文针对ASP程序设计中最基础.也是最关键的部分"数据库文件的调用"进行说明,同时谈谈ASP程序设计中数据库文件调用的一些技巧.  ASP简介 ASP(Active Server Pages)是微软于1996年推出的Web应用程序开发技术,它是一种脚本语言.ActiveX组件及HTML语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的.交互的.高性能的Web服务器应用程序".其主要功能是为生成动态的.交互式的Web服务器应用程序提

知道字段名,如何根据该字段的值查找到表名

问题描述 知道字段名,并且每张表都有该字段,在程序代码中如何根据字段值得到该字段值所在的表名.例如:每张表中都有Name这个字段,如何根据字段值'Zs',查找出该字段值所在的表从网上找到的都是在SQLServer里执行的,那在WinForm程序代码中该怎么写呢? 解决方案 解决方案二:sqlserversql语句就能查找到,你在winform中再用ado.net执行这条sql语法返回就可以了.解决方案三:引用1楼guwei4037的回复: sqlserversql语句就能查找到,你在winfor