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


    一、Access数据库的引擎

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

    二、Access文件格式

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

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

    1、在开发阶段

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

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

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

      (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、本地应用程序
            数据库文件放在可行性文件所在的文件夹,通常为项目的bindebug或者bin elease文件夹下路径

    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目录下

  • 相关阅读:
    iOS开发- 蓝牙后台接收数据(BLE4.0)
    代码优化之减少重复代码-实践
    微信iOS多设备多字体适配方案总结
    iOS微信小视频优化心得
    iOS项目工程及目录结构
    手机淘宝 521 性能优化项目揭秘
    最大连续和
    struts2入门
    Maven环境搭配及继承
    easyui高级控件
  • 原文地址:https://www.cnblogs.com/AngryZe/p/8336148.html
Copyright © 2020-2023  润新知