C#中 与数据库连接的 绝对路径和相对路径的问题

C#中 与数据库连接的 绝对路径和相对路径的问题,第1张

相对路径 是”相对“当前路径而言的,所以需要知道当前的路径是什么,如果当前的路径都不确定的话就无法做,首先需要确定下当前的路径是什么。知道后 需要了解"\"这个符号的意思,两个点表示相对当前目录的父目录(上一级目录),需要再上一级的话就“\\”,然后后面跟其文件或子目录。例如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中怎样写数据库的相对路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9756086.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存