[C#学习] 关于C#连接Access数据库的几个问题

一、Access数据库的引擎

引擎名称常见版本说明
ACE引擎Microsoft.ACE.OLEDB.12.0既能访问Office97-2003,也可以方位Office2007
 Jet引擎Microsoft.Jet.OLEDB.4.0只能可以访问Office97-2003

 

 

二、Access文件格式

格式名称常见版本说明
 .mdbOffice2002-2003可以使用Jet引擎,也可以使用ACE引擎
 .accdbOffice2007-只能使用ACE引擎

三、数据库放在说明地方合适

1、在开发阶段

  (1) 在项目的Program.cs所在的文件夹中创建DataSource文件夹

  (2) 将Access数据库放入该文件夹中

  (3) 修改app.config文件中connection string 中data source字符串,其中|DataSource|代表该项目中“bin\debug

 

  (4) 双击Properties中的settings,自动更新settings中的名称与app.config中name一致的连接字符串的值。

 

  (5) 在Program.cs文件中创建SetDataDirectory函数,并在Main()中调用

 

2、在Package阶段

  在应用程序文件夹下的DataSource文件夹中Add Files,添加数据库文件。

注意:手动创建的DataSource文件夹的名称、App.config中文件夹的名称、Settings中文件夹的名称以及安装阶段存放数据库的文件夹的名称必须一样,否则会出错。

四、是否将根目录下的数据库文件复制到开发项目中

  在使用数据源配置向导将数据连接的数据库中的库表拖动到创建的DataSet数据集向导页面中时,会提示如下信息:

  你选定的连接所使用的本地数据文件不在当前项目中。是否将该文件复制到项目中,并修改连接?如果将数据文件复制到项目中,则每当运行应用程序时,该数据文件都将复制到项目的输出目录中。

1、将该文件复制到项目中

  将数据库复制到项目中,Visual Studio 将创建数据库文件的一个副本,将它添加到项目中,并修改连接以使它现在指向项目中的数据库而不是指向数据库文件的原始位置。而且数据库资源管理器中的数据连接的数据库也会变成项目中的数据库。

  生成项目时,可以将数据库文件从根项目文件夹中复制到输出(“bin”)文件夹中。 (在“解决方案资源管理器”中选择“显示所有文件”,可查看该“bin”文件夹。)此行为基于设置文件的“复制到输出目录”属性。 默认设置属性依赖的数据库文件的类型使用。

  应用程序开发期间,任何对数据所做的更改(在应用程序内的运行期间)都会同样实施到 bin 文件夹的数据库中。

  而项目根文件夹中的数据库文件仅在您使用“服务器资源管理器”/“数据库资源管理器”或其他 Visual Database Tools 编辑数据库架构或数据时才会更改。

2、不将该文件复制到项目中

  连接到其当前位置中的现有数据库文件。Visual Studio将会创建一个连接,就如同正连接到任何远程数据库一样,并且该数据库文件保留在其原始位置。

五、数据集DataSet.xsd包含哪些文件

  在连接Access数据库时,通常会创建一个数据集DataSet用于作为数据库的实体文件,该文件主要包括:

 

文件名称下属文件
数据集DataSet.Designer.cs
 
数据集DataSet
数据集TableAdapter
TableAdapterManager
数据集DataSet.xsc 
数据集DataSet.xss 

六、App.config与Properties.Settings.settings

  通过资源配置向导完成的数据连接会将该连接的configuration.connectionStrings写进App.config文件,同时更新settings里面的某些设置。

  当修改该App.config文件后,需要手动更新一下settings里面的设置;但是,当修改settings文件后,App.config自动更新。

七、DataDirectory    

1、本地应用程序
        数据库文件放在可行性文件所在的文件夹,通常为项目的bin\debug或者bin\release文件夹下路径

2、ClickOnce程序
        对于以ClickOnce方式运行的程序,系统是通过AppDomain.CurrentDomain.GetData("DataDirectory")来解析的。因此,可以通过代码指定,在WPF的App构造方法中加入代码AppDomain.CurrentDomain.SetData("DataDirectory")=AppDomain.CurrentDomain.BaseDirectory;或者,AppDomain.CurrentDomain.SetData("DataDirectory", newDataPath);
3、ASP.net程序
        数据库文件应放在App_Data目录下

转载于:https://www.cnblogs.com/AngryZe/p/8336148.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值