C#操作Access数据库(创建&修改结构)
2010-01-29 11:51
381 查看
想要在程序中控制Access,不是数据,而是Access数据库的表结构啊,字段啊..就要用到ADOX
所以先要在解决方案中引用之,方法如下:
解决方案资源管理器 --> 引用 --> (右键)添加引用 --> COM --> Microsoft ADO Ext. 2.8 for DDL and Security
注意:
当创建ACCESS数据库的时候,会自动创建一个连接,为了释放.ldb文件,必须关闭这一连接。而这个连接是ADODB类的,所以很多人一直都找不到释放连接的方法。
方法如下: 引用 --> (右键)添加引用 --> COM --> Microsoft ActiveX Data Objects 2.8 Library
有了这个两个COM组件后,就可以开始一系列操作啦。。。
一.创建Access数据库
string dbName = "E:\\Temp\\" + DateTime.Now.Millisecond.ToString() + ".mdb";//注意扩展名必须为mdb,否则不能插入表
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";");
二.[b]新建一个表[/b]
ADOX.TableClass tbl = new ADOX.TableClass();
tbl.ParentCatalog = cat;
tbl.Name = "MyTable";
三.增加一个自动增长的字段
ADOX.ColumnClass col = new ADOX.ColumnClass();
col.ParentCatalog = cat;
col.Type = ADOX.DataTypeEnum.adInteger; //必须先设置字段类型
col.Name = "id";
col.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
col.Properties["AutoIncrement"].Value = true;
tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0);
四.增加一个文本字段
ADOX.ColumnClass col2 = new ADOX.ColumnClass();
col2.ParentCatalog = cat;
col2.Name = "Description";
col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25);
下面的这句很重要哦:
cat.Tables.Append(tbl); //把表加入数据库(非常重要)
五.打开修改Access数据库
ADODB.Connection conn = new ADODB.Connection();//ADO连接对象
conn.Open("Provider=Microsoft.Jet.OleDb.4.0;Data Source=Interop.Portal.dll", "", "", 0);
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.ActiveConnection = conn;//设置活动的连接对象
下面的这句非常重要哦: (创建&修改都需要)
//转换为ADO连接,并关闭
(cat.ActiveConnection as ADODB.Connection).Close();
cat.ActiveConnection = null;
cat = null;
所以先要在解决方案中引用之,方法如下:
解决方案资源管理器 --> 引用 --> (右键)添加引用 --> COM --> Microsoft ADO Ext. 2.8 for DDL and Security
注意:
当创建ACCESS数据库的时候,会自动创建一个连接,为了释放.ldb文件,必须关闭这一连接。而这个连接是ADODB类的,所以很多人一直都找不到释放连接的方法。
方法如下: 引用 --> (右键)添加引用 --> COM --> Microsoft ActiveX Data Objects 2.8 Library
有了这个两个COM组件后,就可以开始一系列操作啦。。。
一.创建Access数据库
string dbName = "E:\\Temp\\" + DateTime.Now.Millisecond.ToString() + ".mdb";//注意扩展名必须为mdb,否则不能插入表
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";");
二.[b]新建一个表[/b]
ADOX.TableClass tbl = new ADOX.TableClass();
tbl.ParentCatalog = cat;
tbl.Name = "MyTable";
三.增加一个自动增长的字段
ADOX.ColumnClass col = new ADOX.ColumnClass();
col.ParentCatalog = cat;
col.Type = ADOX.DataTypeEnum.adInteger; //必须先设置字段类型
col.Name = "id";
col.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
col.Properties["AutoIncrement"].Value = true;
tbl.Columns.Append(col, ADOX.DataTypeEnum.adInteger, 0);
四.增加一个文本字段
ADOX.ColumnClass col2 = new ADOX.ColumnClass();
col2.ParentCatalog = cat;
col2.Name = "Description";
col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25);
下面的这句很重要哦:
cat.Tables.Append(tbl); //把表加入数据库(非常重要)
五.打开修改Access数据库
ADODB.Connection conn = new ADODB.Connection();//ADO连接对象
conn.Open("Provider=Microsoft.Jet.OleDb.4.0;Data Source=Interop.Portal.dll", "", "", 0);
ADOX.CatalogClass cat = new ADOX.CatalogClass();
cat.ActiveConnection = conn;//设置活动的连接对象
下面的这句非常重要哦: (创建&修改都需要)
//转换为ADO连接,并关闭
(cat.ActiveConnection as ADODB.Connection).Close();
cat.ActiveConnection = null;
cat = null;
相关文章推荐
- C#操作Access数据库(创建&修改结构)
- C#操作ACCESS数据库(创建,压缩,备份,恢复)
- 黄聪:C#“多线程线程间操作无效: 从不是创建控件的线程访问它。”,跨线程修改控件属性解决方案
- c# 注册表操作,创建,删除,修改,判断节点是否存在
- c#环境XML文件创建、修改、删除、查找相关操作
- C#操作ACCESS数据库(创建,压缩,备份,恢复)
- C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
- c# 注册表操作,创建,删除,修改,判断节点是否存在
- C#附加数据库算法及思路,包括附加、还原、备份、分离、压缩、创建、修改等常见操作(修正)
- 用命令操作方式创建和修改表结构
- C#对数据库操作的类,包括附加、还原、备份、分离、压缩、创建、修改等常见操作
- c# 注册表操作,创建,删除,修改,判断节点是否存在
- C#操作ACCESS数据库(创建,压缩,备份,恢复)
- 详解如何使用C#.NET进行注册表项和键值的创建、删除、修改、获取等操作
- C#操作ACCESS数据库(创建,压缩,备份,恢复)
- C#操作ACCESS数据库(创建,压缩,备份,恢复)
- oracle中关于表的所有操作(创建删除表,修改表结构,创建约束,操作表数据,增删改查等)
- C#操作ACCESS数据库(创建,压缩,备份,恢复)(转载)
- C#文件操作 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名
- oracle中关于表的所有操作(创建删除表,修改表结构,创建约束,操作表数据,增删改查等)