
相对路径 是”相对“当前路径而言的,所以需要知道当前的路径是什么,如果当前的路径都不确定的话就无法做,首先需要确定下当前的路径是什么。知道后 需要了解"\"这个符号的意思,两个点表示相对当前目录的父目录(上一级目录),需要再上一级的话就“\\”,然后后面跟其文件或子目录。例如d:\我的文档\Visual Studio 2008\Projects\WindowsFormsApplication3\WindowsFormsApplication3\Database1mdf,这个是你文件的绝对地址,那么当当前目录为d:\我的文档\Visual Studio 2008\Projects\WindowsFormsApplication3\WindowsFormsApplication3\folder,(假设存在),那么相对该目录的相对路径为"\Database1mdf"
有一个简单的方法。
首先将你的数据库存放到当前应用程序的bin目录下。如:E:\WindowsApplication2\bin
然后定义相对路径string url=@"\CTablemdb";
代表的是应用程序一直到bin的目录
1把database目录和里面的数据库都放到目录下
形成这样的效果:
解决方案\bin\debug\database\数据库名mdb
2在程序中使用这样的连接字符串:
"Provider=MicrosoftJetOLEDB40;Data
Source=
"&ApplicationStartupPath&"\database\数据库名mdb;"
<add name="MovieDBContext"
connectionString="Data Source=(LocalDB)\v110;AttachDbFilename=|DataDirectory|\Moviesmdf;Integrated Security=True"
providerName="SystemDataSqlClient"
/>
vs2017中没有StartPupPath这个东西,用上面的这个办法可以让数据库自己找位置
一般来说数据库放在程序的同目录下,这样才好实现相对路径:
dim DataPath as string
DataPath = AppPath & iif(right(Apppath,1)="\","" ,"\") & "MyDataMDB"
strSQL = "Driver={Microsoft Access Driver (mdb)}; Dbq=" & DataPath & "; Uid=Admin; Pwd=; "
<add key="MM_CONNECTION_STRING_sjk" value="Provider=MicrosoftJetOLEDB40;Persist Security Info=False;Data Source=" />
<add key="MM_CONNECTION_STRING_sjkPath" value="sh\sjkmdb" />
代码里就要
constr = SystemConfigurationConfigurationSettingsAppSettings["MM_CONNECTION_STRING_sjk"] & ServerMapPath(SystemConfigurationConfigurationSettingsAppSettings["MM_CONNECTION_STRING_sjkPath"])
cnOpen "provider=MicrosoftjetOLEDB40;data source=" & ThisWorkbookPath & "\Datamdb" & ";User ID=; Jet OLEDB:database Password = 008"
以上就是关于C#中 与数据库连接的 绝对路径和相对路径的问题全部的内容,包括:C#中 与数据库连接的 绝对路径和相对路径的问题、C# 如何设Access数据库的相对路径!、winform中怎样写数据库的相对路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)