Access Database连接C#local director

时间:2010-05-11 16:20:58

标签: c# database ms-access connection oledbconnection

我希望我的数据库连接始终可用,因此如果我将项目文件夹移动到另一台计算机,则自动建立连接。 那么,我该如何改变这种联系:

this.oleDbConnection1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"C:\\Documents and Settings\\Cristi\\Do" +
                "cuments\\Visual Studio 2008\\Projects\\WindowsApplication3\\bd1.mdb\"";

??? 它应该读取项目目录或其他东西。我不知道。有任何想法吗? 谢谢!

2 个答案:

答案 0 :(得分:2)

如果将访问数据库添加到项目中,并在文件属性中将“复制到输出目录”属性设置为“始终复制”(如果适用,则复制为“如果适用,则复制”),则可以使用与此类似的连接字符串:

this.oleDbConnection1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\".\\bd1.mdb\""; 

这将起作用,因为数据库将与二进制文件位于同一文件夹中。

类似地,您可以使用相对于执行程序集所在位置的数据库的相对路径。

答案 1 :(得分:0)

听起来好像要在连接字符串中使用相对路径。

这样的事情:

this.oleDbConnection1.ConnectionString = 
"Provider=Microsoft.Jet.OleDb.4.0;Data Source=" + 
Server.MapPath("~\\MyData\\MyDatabase.mdb"); 

这将对应于应用程序中的/MyData目录。请注意.mdb文件可能对[un]故意犯规可见的安全问题。

相关问题