数据库开发及ADO.NET(57)——如何在程序中访问Access写相对路径

66 篇文章 1 订阅

如何在程序中访问Access相对路径

1、OleDbConnection连接字符串必须是绝对路径ADO.Net提供了一个“特殊字符串” DataDirectory表示“数据库文件夹如果是Winform程序DataDirectory表示当前运行的exe的文件夹,对于ASP.Net程序DataDirectory表示当前项目的App_data文件夹

 

2、程序中的很多文件默认是不保存到数据库文件夹下的,有的就算默认是保存到数据库文件夹,也不一定是每次运行都更新。如果想让程序中的某个文件每次运行时都更新并且保存到数据库文件夹中,步骤如下:鼠标放到这个文件上,右击,属性,在属性框中“高级”,“复制到输出目录”,“始终复制”,就可以了。下图以Program.cs文件为例。

 

3、在WinForm中如果不修改DataDirectory,则运行时修改的是exe同文件夹下的mdb,而开发人员看的是项目中的mdb。而正式运行的时候则需要程序操作exe同文件夹下的mdb,因此通过代码修改DataDirectory。代码见下方,这个代码要放到程序最开始运行一次即可。如果是WinForm程序则要放到Main最开始。

string dataDir = AppDomain.CurrentDomain.BaseDirectory;
            if (dataDir.EndsWith(@"\bin\Debug\")
                || dataDir.EndsWith(@"\bin\Release\"))
            {
                dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
                AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
            }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值