c# 相对路径问题

认真学编程 2010-10-04 11:24:20
我的数据库在db1在D:\data下,我的数据库连接代码如下,用的是绝对路径,改成相对路径应噶怎么写
OleDbConnectionStringBuilder csb = new OleDbConnectionStringBuilder();
csb.DataSource = @"D:\data\db1.mdb";
csb.Provider = "microsoft.jet.oledb.4.0";
OleDbConnection odcn = new OleDbConnection(csb.ConnectionString);
就是csb.DataSource =???该怎么写,请假啦!
...全文
135 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
湖中仙人 2010-10-06
  • 打赏
  • 举报
回复
csb.DataSource = @"..\data\db1.mdb";
liulangdeyuyu 2010-10-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]

// 获取程序的基目录。
System.AppDomain.CurrentDomain.BaseDirectory
// 获取模块的完整路径。
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
// 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。
System.Environment.Cur……
[/Quote]
+1
caojinrong 2010-10-06
  • 打赏
  • 举报
回复
http://blogs.msdn.com/b/smartclientdata/archive/2005/08/26/456886.aspx
caojinrong 2010-10-06
  • 打赏
  • 举报
回复
Provider=Microsoft.Jet.OLEDB.4.0; Data Source= |DataDirectory|a.mdb
huanshayi 2010-10-04
  • 打赏
  • 举报
回复
建议你的数据库放在程序基目录的data文件下,然后用1楼提供的属性,就可以相对路径了
wuyq11 2010-10-04
  • 打赏
  • 举报
回复
// 获取程序的基目录。
System.AppDomain.CurrentDomain.BaseDirectory
// 获取模块的完整路径。
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
// 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。
System.Environment.CurrentDirectory
// 获取应用程序的当前工作目录。
System.IO.Directory.GetCurrentDirectory()
// 获取和设置包括该应用程序的目录的名称。
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
// 获取启动了应用程序的可执行文件的路径。
System.Windows.Forms.Application.StartupPath
// 获取启动了应用程序的可执行文件的路径及文件名
System.Windows.Forms.Application.ExecutablePath

认真学编程 2010-10-04
  • 打赏
  • 举报
回复
试试先,继续请教

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧