Rad*_*u D 14 .net sqlite configuration connection-string app-config
我需要在app.config中设置sqlite连接字符串.我想设置相对于调试/发布文件夹的路径,数据库文件将被复制到这些文件夹.
<add name="EmailsSQLite" connectionString="data source=c:\Users\Test\Documents\Visual Studio 2008\Projects\TestConsole\Emails\data\EmailDatabase.sqlite" providerName="System.Data.SQLite"/>
Run Code Online (Sandbox Code Playgroud)
我希望有类似的东西:
<add name="EmailsSQLite" connectionString="data source=\data\EmailDatabase.sqlite" providerName="System.Data.SQLite"/>
Run Code Online (Sandbox Code Playgroud)
那可能吗?
Joe*_*Joe 15
您可以指定Lefty的答案中描述的相对路径.
但是,这将与当前工作目录相关,当前工作目录不一定是包含可执行文件的目录.
解决此问题的一种方法是在使用之前修改连接字符串,例如
在app.config中:
connectionString="data source={AppDir}\data\EmailDatabase.sqlite
Run Code Online (Sandbox Code Playgroud)
在你的代码中:
ConnectionStringSettings c = ConfigurationManager.ConnectionStrings[name];
if (c == null)
{
... handle missing connection string ...
}
string fixedConnectionString = c.ConnectionString.Replace("{AppDir}", AppDomain.CurrentDomain.BaseDirectory);
... use fixedConnectionString
Run Code Online (Sandbox Code Playgroud)
对的,这是可能的。尝试使用 |DataDirectory|。
在 App.config 中
<add name="SqliteConnectionString" connectionString="Data Source=|DataDirectory|\Database.sqlite;" providerName="System.Data.SQLite"/>
Run Code Online (Sandbox Code Playgroud)
有关此页面的更多信息 https://msdn.microsoft.com/en-us/library/cc716756.aspx
尝试使用“。” 在字符串的数据源部分中的第一个反斜杠之前。
例如。
data source=.\data\EmailDatabase.sqlite
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34771 次 |
| 最近记录: |