[转载].NET ADOX创建Access数据库

baacloud免费翻墙vpn注册使用

[转载].NET ADOX创建Access数据库 – 编程随笔 – 博客园.

前几天做一个软件,其中一个功能是让用户能创建数据库,这个地方原来没有接触过,一般都是先创建好,再连接查询等就OK了,但是用.net创建还是第一次遇到,呵呵,才疏学浅,其中的方法留在这里供日后参考。

首先是创建一个数据库,先引用COM组件中的Microsoft ADO Ext. 2.8 for DDL,添加完成后 项目中的引用会增加一个ADOX的引用,好了,这样就可以创建一个空的Access数据库了:

string _DataSource = string.Format(@”Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Jet OLEDB:Engine Type=5″, _Dir);
ADOX.Catalog _cata = new Catalog();

_cata.Create(_DataSource);

也就这三行就行了。

当然,不能只创建出一个空的库,里面要有表,字段,等。这次要用的Microsoft ActiveX Data Objects 2.8 Library,先创建连接

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

_Con.Open(_DataSource, null, null,-1);

_cata.ActiveConnection = _Con;

建立好连接后,就可已建立表了

ADOX.Table _NewTable = new ADOX.Table();
_NewTable.Name = “Spiderbase”;

然后字段

ADOX.Column _Column = new ADOX.Column();
_Column.ParentCatalog = _cata;
_Column.Name = “ID”;
_Column.Type = DataTypeEnum.adInteger;
_Column.DefinedSize = 9;
_Column.Properties[“AutoIncrement”].Value = true; //这里首先建立ID列

_NewTable.Columns.Append(_Column, DataTypeEnum.adInteger, 9);
_NewTable.Keys.Append(“IDKey”, KeyTypeEnum.adKeyPrimary, _Column, null, null);//设置主键

_NewTable.Columns.Append(“Statement”, DataTypeEnum.adVarWChar, 200);
_NewTable.Columns[“Statement”].Attributes = ColumnAttributesEnum.adColNullable;
_NewTable.Columns.Append(“标题”, DataTypeEnum.adVarWChar, 200);
_NewTable.Columns[“标题”].Attributes = ColumnAttributesEnum.adColNullable;

其中的.Attributes属性中的ColumnAttributesEnum是设置约束的(NOT NULL);

好了 ,就这样,一个表就建立好了

最后 _cata.Tables.Append(_NewTable);就行了

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏