[英]c# connection string and concatenation app.config
我有以下連接字符串,我通過它連接到位於我的應用程序的根文件夾內的子文件夾中的Access數據庫(.mdb):
OleDbConnection con = new OledbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + System.AppDomain.CurrentDomain.BaseDirectory() + "Data\rctts.mdb;Jet OLEDB:Database Password=mypassword;")
我的問題是,如何將連接字符串放在app.config文件中? 一般來說,我使用:
<connectionStrings>
<add name="Test" connectionString="Data Source=.;Initial Catalog=OmidPayamak;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
我面臨的問題是,在我的連接字符串中,我正在進行一些連接,並且還使用System.AppDomain.CurrentDomain.BaseDirectory()
來設置Data Source
...如何在app.config中執行相同的連接? 有可能這樣做嗎?
雖然配置API不提供為您操作連接字符串的工具,但您可以將連接字符串“template”放入配置中,並使用string.Format
在代碼中執行其余操作:
配置:
<connectionStrings>
<add name="Test" connectionString="Data Source={0}Data\rctts.mdb;Initial Catalog=OmidPayamak;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
C#代碼:
string conStr = string.Format(
ConfigurationManager.ConnectionStrings["Test"].ConnectionString
, System.AppDomain.CurrentDomain.BaseDirectory()
);
您可以嘗試以下方法:
connectionString="Data Source=|DataDirectory|\rctts.mdb;Initial Catalog=OmidPayamak;Integrated Security=True"
然后嘗試將DataDirectory
的值設置如下:
var currentDomain = AppDomain.CurrentDomain;
var basePath = currentDomain.BaseDirectory;
currentDomain.SetData("DataDirectory", basePath+"\Data");
在您的應用程序的相應啟動文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.