前几天有人问:如何在使用 C# 或者 VB.NET 读写 Access 数据库的标题信息?Access 数据库的有些信息不能通过 ADO.NET 来读取的,需要使用 DAO 来进行读写,这些属性包括:
•Caption
•ColumnHidden
•ColumnOrder
•ColumnWidth
•DecimalPlaces
•Description
•Format
•InputMask
等等,使用 DAO 可以采用下面的方法进行读写,附上完整源代码:
/// 需要添加引用 Microsoft DAO 3.6 Object Library
/// 在VS 2008和Access 2003下测试通过
const int dbUseJet = 2 ;
const int dbPropNotFound = 3270 ;
const dao.DataTypeEnum dbText = dao.DataTypeEnum.dbText;
String dbName = @" E:\WebSite1\MengXianhui\db3.mdb " ;
dao.Workspace DAOWorkspace;
dao.Database DAODatabase;
dao.DBEngine DAODBEngine = new dao.DBEngine();
// 创建一个工作区
DAOWorkspace = DAODBEngine.CreateWorkspace( " WorkSpace " , " Admin " , "" , dbUseJet);
// 打开数据库
DAODatabase = DAOWorkspace.OpenDatabase(dbName, false , false , null );
dao.TableDef DAOTable;
dao.Field DAOField;
// 表对象
DAOTable = DAODatabase.TableDefs[ " Table1 " ];
DAOField = DAOTable.Fields[ " BirthDay " ];
// 读取 UserName 字段的 “标题”属性,如果标题没有设置,则会抛出异常。
// 如果标题不存在,我们就添加一个标题
String CaptionText;
try
{
CaptionText = DAOField.Properties[ " Caption " ].Value.ToString();
}
catch
{
if (dbPropNotFound == DAODBEngine.Errors[ 0 ].Number)
{
// 此时属性不存在,添加一个属性
dao.Property dbProperty = DAOField.CreateProperty( " Caption " , dbText, " 出生日期字段标题 " , false );
DAOField.Properties.Append(dbProperty);
DAOField.Properties.Refresh();
CaptionText = DAOField.Properties[ " Caption " ].Value.ToString();
}
else
{
CaptionText = " 无此标题,并且未能创建标题。 " ;
}
}
finally
{
DAODatabase.Close();
System.Runtime.InteropServices.Marshal.ReleaseComObject(DAOField);
System.Runtime.InteropServices.Marshal.ReleaseComObject(DAOTable);
System.Runtime.InteropServices.Marshal.ReleaseComObject(DAOWorkspace);
System.Runtime.InteropServices.Marshal.ReleaseComObject(DAODBEngine);
System.Runtime.InteropServices.Marshal.ReleaseComObject(DAODatabase);
DAOField = null ;
DAOTable = null ;
DAOWorkspace = null ;
DAOWorkspace = null ;
DAODatabase = null ;
GC.WaitForPendingFinalizers();
GC.Collect();
}
MessageBox.Show( " BirthDay 字段的标题是: " + CaptionText);
VB.NET写法类似,网上也有C#转换成VB.NET的工具,如果实在转换不成,可以继续找我。
分享到:
相关推荐
本文将深入探讨如何使用VB.NET来获取CPU、BIOS、显卡、声卡等各种硬件驱动以及操作系统的信息,同时强调无需依赖任何第三方控件。 首先,让我们了解一下VB.NET中的基础类库,它为我们提供了丰富的API接口来访问系统...
DirectShowLib.dll是DirectShow.NET项目提供的一个库,使得.NET开发者可以利用C#、VB.NET等语言直接操作DirectShow滤镜。 在VB.NET中使用DirectShow.NET,首先要进行必要的引用设置。在你的项目中,右键点击“引用...
- `Caption`在VB6.0中表示控件标题,VB.Net中对应于`Text`属性。 7. **文件操作**: - VB6.0的`ChDir`和`ChDrive`语句在VB.Net中变为`Microsoft.VisualBasic.FileSystem.ChDir`和`Microsoft.VisualBasic....
- `Caption`:VB6.0的`Caption`属性在VB.NET中对应控件的`Text`属性。 - `ChDir`和`ChDrive`:VB6.0的这两个语句在VB.NET中分别由`FileSystem.ChDir`函数和`FileSystem.ChDrive`函数实现。 - `Chr$`和`ChrB`:VB...
根据给定的文件信息,以下是对vb.net考试试题中出现的重要知识点进行的详细解析: ### 一、基础知识 1. **编程语言的选择**: - 题目中提到的选项中,`Pascal` 不属于 Visual Studio .NET 的集成开发环境中支持的...
### VB.NET中Winsock控件的使用详解 #### 一、引言 在VB.NET开发环境中,Winsock控件是一种非常强大的工具,用于实现网络通信功能。它支持TCP/IP和UDP两种主流网络协议,能够帮助开发者创建各种类型的网络应用程序...
### VB通过DAO访问ACCESS数据库的关键知识点 #### 一、DAO简介 - **DAO** (Database Access Object) 是一种用于在Microsoft Visual Basic (VB) 应用程序中访问Microsoft Jet数据库引擎的标准方法。它允许开发者通过...
在VB.Net和VB6.0之间,函数的使用和实现方式存在显著的差异,这主要源于两者基于不同的编程模型:VB6.0是基于传统的Visual Basic,而VB.Net则是.NET框架的一部分,支持现代面向对象编程。以下是两者之间一些关键函数...
在VB.NET 2005环境下,获取系统设备信息是一项基础但重要的任务,这涉及到对计算机硬件、操作系统、网络配置等多方面的数据收集。本文将详细介绍如何利用VB.NET 2005编程语言来实现这一功能。 首先,我们需要了解VB...
【VB.NET试验指导】这篇教程主要涵盖了初学者在VB.NET编程中所需掌握的基本知识和技能。以下是详细的知识点解析: 1. **Microsoft Visual Studio .NET的启动与退出**:Microsoft Visual Studio .NET是一款强大的...
10. **Caption**: 控件标题属性,VB6.0中是`Caption`,VB.Net中是`Text`属性。 11. **CBool**: 两者的函数名称相同,但VB.Net中是内置类型转换。 12. **CByte**: 同上,函数名称相同,但VB.Net中是内置类型转换。 ...
### VB.NET 开发中使用Excel插件学习方法及代码详解 #### 一、概述 在进行Excel插件开发时,通常需要实现的功能之一是为Excel添加自定义的工具栏。这样做的目的是为了方便用户能够快速地访问到由插件提供的功能。...
### vb.net计算器源码知识点详解 #### 一、概述 本篇主要介绍的是一个基于VB.NET平台的标准计算器源码的相关知识点。VB.NET是Visual Basic .NET的简称,它是一种广泛应用于Windows应用程序开发的编程语言。该计算器...
1. 使用`My.Computer.Info`对象:VB.NET提供了一个内置对象`My.Computer.Info`,可以方便地获取有关运行应用程序的计算机的信息,包括操作系统名称、版本、架构等。例如,以下代码将打印出操作系统名称和版本: ```...
描述:本文旨在为开发者提供一个全面的对照表,展示VB6与VB.NET中常见函数的对应关系,帮助从VB6迁移至VB.NET的开发者快速理解和适应新的编程环境。 ### VB6与VB.NET函数对照概览 #### 1. 控件操作 - **AddItem**:...
### OWC11在VB.NET中的应用:绘制统计图表 #### 概述 在ASP.NET开发过程中,将数据可视化是一项非常重要的技能。Office Web Components (OWC) 是一种功能强大的工具,可以帮助开发者轻松地实现这一目标。OWC11 是 ...
- VB.NET虽然不直接支持VB6式的控件数组,但可以通过集合或者使用相同的Name前缀和索引来模拟实现数组功能。 总的来说,VB.NET在保留VB6易用性的同时,增强了性能和功能。程序员需要适应新的控件机制和API,学习新...
在VB中,开发者可以通过自定义代码来实现窗体标题栏的独特功能,从而提高用户体验或者满足特定的界面设计需求。 首先,我们了解窗体标题的基本设置。在VB中,每个窗体都有一个`Caption`属性,这个属性决定了窗体...
在“VBA+Access实现Excel文件的数据库读写操作编码密码zqakak”这个主题中,我们将深入探讨如何利用VBA和Access进行高效的数据库交互,以及如何在VBA中实现进度条功能。 首先,让我们了解如何使用VBA来读取和写入...