频道栏目
首页 > 资讯 > C# > 正文

如何使用C#或者VB.NET读写Access数据库的标题(Caption)、描述(Description)等字段信息?

10-07-11        来源:[db:作者]  
收藏   我要投稿

如何在使用 C# 或者 VB.NET 读写 Access 数据库的标题信息?Access 数据库的有些信息不能通过 ADO.NET 来读取的,需要使用 DAO 来进行读写,这些属性包括:

Caption
ColumnHidden
ColumnOrder
ColumnWidth
DecimalPlaces
Description
Format
InputMask
等等,使用 DAO 可以采用下面的方法进行读写,附上完整源代码:

 C#代码:
 

///需要添加引用 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:WebSite1MengXianhuidb3.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.InteropServ

相关TAG标签
上一篇:C#通过url下载图片
下一篇:异步 HttpContext.Current实现取值的方法(解决异步Application,Session,Cache...等失效的问题)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站