C#连接Access数据库的问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 05:46:33
我原来是这么写的:

string strCon="provider=microsoft.jet.oledb.4.0;";
strCon+=@"data source=e:\sjk.mdb";

这样当然OK啦,但sjk.mdb这个文件就必须放在e:\。
我想把sjk.mdb放在.csproj文件同一目录下,请问怎么实现?
就是求这几个文件同时移动都可以打开的相对路径的表达方式。

Application.StartupPath
获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。

命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

下面的代码示例获取此属性并在文本框中显示其值。本示例要求 textBox1 已放置在窗体上
private void PrintStartupPath() {
textBox1.Text = "The path for the executable file that " +
"started the application is: " +
Application.StartupPath;
}

楼上说的不对.用相对路径的方式是不能实现的.
在驱动字符串里面的路径是不支持相对路径的.只能使用绝对路径..
当然了直接输入文件的那种除外.如(data source=sjk.mdb)这样程序会在你可执行文件的所在目录下找那个文件.

要想做到你说的那一点,必须用代码实现..

先用Application.StartupPath (好像是这个方法,你自己找找)获取当前程序所在的目录,然后在跟据这个路径,,加上楼上所谓的相对路径,...这样生成的绝对路径,才认的...

用相对路径吧!!!
...\sjk.mdb

修改config文件里的路径就可以了。