用c#动态创建access数据库_c#应用

2008-02-23 05:42:18来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

记得以前要动态的创建Access数据库的mdb文档都是采用DAO,用VC研发,一大堆的API,很是麻烦。现在似乎也鲜有人提起DAO。其实动态的创建mdb数据的最简单的方法还是ADOX。
用ADOX创建access数据库方法很简单,只需要new一个Catalog对象,然后调用他的Create方法就能够了,如下:
ADOX.Catalog catalog = new Catalog();
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb;Jet OLEDB:Engine Type=5");

仅仅两行代码就搞定了。下来我主要介绍一下在c#中的实现细节。首先您要添加引用,在“Add reference”对话框里转换到Com页面,选择“Microsoft ADO Ext. 2.8 for DDL and Security”,然后点击OK。在文档的开头using ADOX名字空间。然后添加如上面所示的代码就能够成功的创建Access 数据库了,代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using ADOX;

namespace testADOX
{
class Program
{
static void Main(string[] args)
{
ADOX.Catalog catalog = new Catalog();
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb;Jet OLEDB:Engine Type=5");
}
}
}

创建了数据库文档是没有实际用处的,我们还要创建表。在创建表之前,我们必须连接目标数据库,用来连接数据的桥梁居然是ADO的Connection对象,所以我们不得不再次添加对ADO的应用,在添加引用对话框中转换到Com页面,选择“Microsoft ActiveX Data Objects 2.8 Library”,然后点击OK。下边是创建表的完整代码:
using System;
using System.Collections.Generic;
using System.Text;
using ADOX;

namespace testADOX
{
class Program
{
static void Main(string[] args)
{
ADOX.Catalog catalog = new Catalog();
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb;Jet OLEDB:Engine Type=5");

ADODB.Connection cn = new ADODB.Connection();

cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb", null, null, -1);
catalog.ActiveConnection = cn;

ADOX.Table table = new ADOX.Table();
table.Name = "FirstTable";

ADOX.Column column = new ADOX.Column();
column.ParentCatalog = catalog;
column.Name = "RecordId";
column.Type = DataTypeEnum.adInteger;
column.DefinedSize = 9;
column.Properties["AutoIncrement"].Value = true;
table.Columns.Append(column, DataTypeEnum.adInteger, 9);
table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null);
table.Columns.Append("CustomerName", DataTypeEnum.adVarWChar, 50);
table.Columns.Append("Age", DataTypeEnum.adInteger, 9);
table.Columns.Append("Birthday", DataTypeEnum.adDate, 0);
catalog.Tables.Append(table);

cn.Close();
}
}
}
上面的代码中,创建了一个名为FirstTable的表,在表里加入了4个字段,并配置了一个主键。表里的字段分别输入4中不同的常用类型,第一个字段是个自动增长的整数类型,这个类型比较特别,您必须为这个字段配置ParentCatalog属性,并将“AutoIncrement”的属性值设为true.。Access里的Text类型对应的就是adVarWchar,而日期类型对应的是adDate。
键的配置如table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null)所示,假如是外键的话,您还必须要配置关联的表和关联的字段,也就是Append方法的后两个字段。
您也能够参照上边的代码创建索引和视图。

http://www.cnblogs.com/guanjinke/archive/2006/11/30/577241.html


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: visual c#的excle编程_c#应用

下一篇: ip数据包的校验和算法c#版_c#应用