Mar*_*tin 39 c# string connection sql-server-ce
我在winforms App中从sdf数据库加载数据.我使用数据库文件的完整路径.示例:
conn = new SqlCeConnection
{
ConnectionString ="Data Source=F:\\My Documents\\Project1\\bin\\Debug\\Database.sdf"
};
Run Code Online (Sandbox Code Playgroud)
我想使用数据库文件的相对路径.例如.我在文件夹F:\ My Documents\Project1\bin\Debug\Data\file.sdf中有sdf文件,我想在连接字符串中使用相对路径.有什么建议?谢谢.
Nim*_*oud 88
相对路径:
ConnectionString = "Data Source=|DataDirectory|\Database.sdf";
Run Code Online (Sandbox Code Playgroud)
将DataDirectory修改为可执行文件的路径:
string executable = System.Reflection.Assembly.GetExecutingAssembly().Location;
string path = (System.IO.Path.GetDirectoryName(executable));
AppDomain.CurrentDomain.SetData("DataDirectory", path);
Run Code Online (Sandbox Code Playgroud)
小智 7
如果数据库文件存在如下,请将此代码尝试到工作目录.
d:\ HMProject\DATABASE\HMProject.sdf
string Path = Environment.CurrentDirectory;
string[] appPath = Path.Split(new string[] { "bin" }, StringSplitOptions.None);
AppDomain.CurrentDomain.SetData("DataDirectory", appPath[0]);
Run Code Online (Sandbox Code Playgroud)
.sdf文件的连接字符串
<add name="LocalDB" connectionString="metadata=res://*/Client.HMProject.csdl|res://*/Client.HMProject.ssdl|res://*/Client.HMProject.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="Data Source=|DataDirectory|\Database\HMProjectDB.sdf;Password=HMProject;Persist Security Info=False;"" providerName="System.Data.EntityClient" />
谢谢
ck.Nitin(TinTin)
相对于什么,您的应用程序?如果是这样,那么您可以简单地使用以下命令获取应用程序的当前路径:
System.Environment.CurrentDirectory
Run Code Online (Sandbox Code Playgroud)
并将其附加到连接字符串中
归档时间: |
|
查看次数: |
102634 次 |
最近记录: |