0

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

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\"";

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

4

2 回答 2

2

如果您将 access 数据库添加到项目中,并在文件属性中将 Copy to Output Directory 属性设置为 Copy Always(或如果适用,则为 Copy,如果较新),您可以使用类似于以下的连接字符串:

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

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

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

于 2010-05-11T16:29:29.497 回答
0

听起来您想在连接字符串中使用相对路径。

像这样的东西:

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

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

于 2010-05-11T16:25:38.617 回答