Vs2012连接Accese数据库

这几天在实现一个功能,用VS2010+Access 2010,将自己的一点心得跟大家分享下。访问Access 用到了微软的Microsoft Access Engine(ACE) 关于ACE的结构大家可以看这个连接http://msdn.microsoft.com/en-us/library/ff965871.aspx#DataProgrammingWithAccess2010_ATLOLEDBExample

1,打开 Access 2010

OleDbConnection pCnn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=E:\\arcgis\\WindowsApp\\Demo\\Database.accdb;Persist Security Info=False;"); pCnn.Open();

2,插入数据

string  pQuery = "INSERT into [练习]" + pSqlFields + " " + "values" + pValues;

 

OleDbConnection pCnn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=E:\\arcgis\\WindowsApp\\Demo\\Database.accdb;Persist Security Info=False;");            pCnn.Open();

           // OleDbCommand cmd = new OleDbCommand(query, cn);

           // cmd.ExecuteNonQuery();

           OleDbCommand pCmd = new OleDbCommand(pQuery, pCnn);

           pCmd.ExecuteNonQuery();

           pCnn.Close();

3,添加字段

添加一个字段:

pQuery = "ALTER   TABLE   [练习]" + " " + "Add" + " " + "FieldName"+" "+"字段类型";

 

添加多个字段(逗号隔开):

 

pQuery = "ALTER   TABLE   [练习]" + " " + "Add" + " " + "FieldName1"+" "+"字段类型1"+","+"FieldName2"+" "+"字段类型2";

 

4,删除表:

 

 

DROP TABLE 表名称;

 

5,创建表:

 

CREATE TABLE 表名 (字段名称1 LONG, 字段名称2 TEXT) ;

 

6.删除记录

SqlDelete = "DELETE from [练习 WHERE 元数据名称=" + "'" + pRelationName + "'";

说明,在用C#操纵这些的时候,尤其要注意空格

原博地址:http://www.gisall.com/html/63/151663-5102.html

 

 

转载:http://access911.net/fixhtm/72FABF1E10DCEDF3.htm

Access2010格式仍然采用与ACCESS2007一样的 .accdb 格式,用 MDAC 2.8 SP8 和 JET DB 4.0 都支持不了,所以必须下载新的 Microsoft Access Database Engine 2010 Redistributable 。地址如下:

http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d

微软的说明如下:

此下载将安装一组组件,非 Microsoft Office 应用程序可以使用它们从 2010 Office system 文件中读取数据以及向这些文件中写入数据,例如 Microsoft Access 2010 (mdb 和 accdb)文件以及 Microsoft Excel 2010 (xls、xlsx 和 xlsb)文件。还支持与文本文件建立连接。 此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。

注意,虽然ACCESS2010与ACCESS2007使用同样的ACCDB格式,而且在2010中也显示其使用的默认格式为 ACCESS 2007 的 ACCDB 格式,但是其存储的一些特性是不同的。比如:data macros, validation rules, calculated columns 等等。所以尽量不要混用 ACCESS 2010 和 ACCESS 2007。

由于 ACCDB 格式没有变化,所以连接 ACCESS 2010数据库时仍然使用 OLEDB 的应用程序连接,将 ConnectionString 属性的 Provider 参数设置为“Microsoft.ACE.OLEDB.12.0” 。而 Excel 的开发人员需要更改字串将“Excel 14.0”添加到 OLEDB 连接字符串的扩展属性中。

但是 MADE2010 与 MADE2007 有什么区别暂时还没进行测试,估计就是对上述特性的支持不同。 请参考: http://msdn.microsoft.com/en-us/office/cc907897.aspx http://access911.net/csdn/FileDescription.asp?mdb=2010-6-2&id=3

 

本站文章旨在为该问题提供解决思路及关键性代码,并不能完成应该由网友自己完成的所有工作,请网友在仔细看文章并理解思路的基础上举一反三、灵活运用。

 

posted @ 2012-11-15 11:49  江伟  阅读(2122)  评论(0)    收藏  举报