在做一个有关数据库连接的应用程序。用Access建的数据库。在建立数据库连接的时候,就制定了数据库的存放位置--是绝对路径。在配置文件里的AppSettings里的values上显示的是绝对路径,例如:
E:\application\school.mdb. 这样在自己的本地的机器上能正常运行。如果在其他的机器上运行的话,最好使用相对路径。
但是我不知道怎么在程序中使用或者是配置相对路径,请各位大虾能详细的解释一下到底怎么在程序中设置相对路径。越详细越好。比如:要用到什么类,需要如何改动config文件、等等
我在此拜谢!如果解决问题,一定附上50分,说到做到。
E:\application\school.mdb. 这样在自己的本地的机器上能正常运行。如果在其他的机器上运行的话,最好使用相对路径。
但是我不知道怎么在程序中使用或者是配置相对路径,请各位大虾能详细的解释一下到底怎么在程序中设置相对路径。越详细越好。比如:要用到什么类,需要如何改动config文件、等等
我在此拜谢!如果解决问题,一定附上50分,说到做到。
System.Environment.CurrentDirectory的作用就是得到你工程的debug目录位置。
System.Windows.Forms.Application.StartupPath +"\\school.mdb"
几种都试试把,
1.本机,
a.绝对路径可以
b.相对路径可以(只对站点里面)
2.其他机器(限局域网)
a.相对路径,放在虚拟目录里面,比如:放在其他机器的C:\Inetpub\wwwroot目录里面,假设改机器名为B,
那么相对路径为: http://B/school.mdb
你试试
获取当前正在执行的服务器应用程序的根目录的物理文件系统路径。
////////////////////////////////////////////////
string str1 =Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。
string str2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。
//备注 按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱动器名称后跟一个尾部反斜杠(如“C:\”)。如果该进程在子目录中启动,则此属性的值为不带尾部反斜杠的驱动器和子目录路径(如“C:\mySubDirectory”)。
string str3=Directory.GetCurrentDirectory();//获取应用程序的当前工作目录。
string str4=AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集。
string str5=Application.StartupPath;//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。
string str6=Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称。
这样你把连接字符串改成 :
OleDbConnection conn=new OleDbConnection("provider=Microsoft.jet.oledb.4.0;data source="+Server.MapPath("Flower.mdb"));
这样你把你的工程带到哪都可以用了. (我用是好用,你试试吧) ^_^
public class Connection
{ public OleDbConnection conn = null;
public Connection()
{
conn = new OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=E:\jiaxiao\controlSchool.mdb;"; }
}app.config是这样的:<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key = "JXConnectionString" value ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= e:\jiaxiao\controlSchool.mdb;" />
</appSettings>
</configuration>具体点我应该怎么改写app.config, 类Connection需要什么更改吗?当然了还是那个问题,使用相对路径。