C#动态创建Access数据库

C#动态创建Access数据库,第1张

C#动态创建Access数据库,第2张

记得以前用DAO和VC动态创建Access数据库的mdb文件比较麻烦,API很多。现在好像很少有人提刀了。实际上,动态创建mdb数据最简单的方法是ADOX。
用ADOX创建access数据库的方法非常简单。您只需要创建一个目录对象,然后调用它的Create方法,如下所示:

ADOX。目录Catalog = new Catalog();
目录。Create("Provider=Microsoft。Jet . OLEDB.4.0数据源= d:\ test . MDB;Jet OLEDB:发动机类型= 5”);
只做了两行代码。我主要介绍C #中的实现细节。首先,你需要添加一个引用,切换到Com页面中的“添加引用”对话框,选择“Microsoft ADO ext。2.8对于DDL和安全性”,然后单击确定。在文件的开头,使用ADOX名字空之间。然后添加如上所示的代码,以成功创建Access数据库。代码如下:

使用系统;
使用系统。集合。泛型;
使用系统。文本;
使用ADOX;

命名空间testADOX
...{
课程计划
...{
static void Main(string[]args)
...{
ADOX。目录Catalog = new Catalog();
目录。Create("Provider=Microsoft。Jet . OLEDB.4.0数据源= d:\ test . MDB;Jet OLEDB:发动机类型= 5”);
}
}
}
创建数据库文件是没有用的。我们必须创建一个表。在创建表之前,我们必须连接到目标数据库。用来连接数据的桥实际上是ADO的连接对象,所以我们要重新添加ADO的应用,在添加引用对话框中切换到Com页面,选择“Microsoft ActiveX数据对象2.8库”,然后点击确定。下面是创建表的完整代码:使用System
使用系统。集合。泛型;
使用系统。文本;
使用ADOX;

命名空间testADOX
...{
课程计划
...{
static void Main(string[]args)
...{
ADOX。目录Catalog = new Catalog();
目录。Create("Provider=Microsoft。Jet . OLEDB.4.0数据源= d:\ test . MDB;Jet OLEDB:发动机类型= 5”);

ADODB。连接cn = new ADODB。connection();

cnOpen("Provider=Microsoft。Jet . OLEDB.4.0数据源=d:\test.mdb ",null,null,-1);
目录。ActiveConnection = cn

ADOX。表格表格=新ADOX。table();
表。Name = " FirstTable

ADOX。列column =新ADOX。列();
列。ParentCatalog = catalog
列。Name = " RecordId
列。type = datatype enum . ad integer;
列。defined size = 9;
列。属性["自动增量"]。值=真;
表。Columns.Append(column,DataTypeEnum.adInteger,9);
表。keys . Append(" first table primary key ",KeyTypeEnum.adKeyPrimary,column,null,null);
表。Columns.Append("CustomerName ",DataTypeEnum.adVarWChar,50);
表。Columns.Append("Age ",DataTypeEnum.adInteger,9);
表。Columns.Append("生日",DataTypeEnum.adDate,0);
目录。tables . Append(table);

cnclose();
}
}
}
在上面的代码中,创建了一个名为FirstTable的表,向该表添加了四个字段,并设置了一个主键。在表中,在4个字段中分别输入不同的常用类型。第一个字段是自动递增的整数类型,这很特殊。您必须为此字段设置ParentCatalog属性,并将属性值“自动增量”设置为true。Access中的文本类型对应adVarWchar,而日期类型对应adDate。
table . keys . append(" first table primary key ",keytypeenum.adkeyprimary,column,null,null)中显示了键设置。如果是外键,还必须设置关联表和关联字段,也就是append方法的最后两个字段。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C#动态创建Access数据库

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情