我添加了一個MS Access文件到一個項目中,VS爲我創建了一個DataSet。我很高興,但現在我有一個小問題:MS Access文件的連接字符串?
我想要在app.config文件中的連接字符串,以允許客戶編輯它。我去app.config文件,我看到了這個連接字符串,「我認爲,」偉大「。
但似乎沒有使用。我發現使用的connectionString包含在Settings.settings文件中,我不能在運行時編輯它。
任何想法如何解決這個問題?我甚至可以根據需要以編程方式指定自己的連接字符串,但我沒有找到如何指定它。
非常感謝!
編輯:下面一個部分代碼:
生成的代碼的一個例子,這似乎指Settings.settings文件:
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
private void InitConnection() {
this._connection = new global::System.Data.OleDb.OleDbConnection();
this._connection.ConnectionString = global::Infoteam.CliniqueLaSource.DocuShare.Communication.DatabaseAccess.Properties.Settings.Default.ClsConnectionString;
}
我在我的app.config文件是什麼:
<connectionStrings>
<add name="Infoteam.CliniqueLaSource.DocuShare.DatabaseAccess.Properties.Settings.ClsConnectionString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Workspace\CliniqueLaSource.CLS-DocuShare\Main\Resources\Cls.mdb;Persist Security Info=True"
providerName="System.Data.OleDb" />
</connectionStrings>
我已經在Settings.settings文件是什麼:
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="Infoteam.CliniqueLaSource.DocuShare.DatabaseAccess.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="ClsConnectionString" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">
<?xml version="1.0" encoding="utf-16"?>
<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Cls.mdb;Persist Security Info=True</ConnectionString>
<ProviderName>System.Data.OleDb</ProviderName>
</SerializableConnectionString>
</DesignTimeValue>
<Value Profile="(Default)">Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Cls.mdb;Persist Security Info=True</Value>
</Setting>
</Settings>
</SettingsFile>
這是我做的是使用的一個小例子:
ClsDataSet dataSet = new ClsDataSet();
DOCDOCUMENTSTableAdapter adapter = new DOCDOCUMENTSTableAdapter();
adapter.Fill(dataSet.DOCDOCUMENTS);
return dataSet.DOCDOCUMENTS.ToList();
請出示從配置文件中顯示連接字符串代碼段(和刪除如有必要,從它那裏獲取敏感信息)我問的原因是.settings文件和.config文件之間有關係,我們可能會更好地解釋。另外,如果您可以在代碼中找到使用.Settings字符串的位置,而不是.config字符串,那將有所幫助。 – David
是否無法從設置文件中刪除連接字符串,然後將考慮app.config中的連接字符串。 編程方式可以使用 康恩=新的OleDbConnection( 「提供者= Microsoft.Jet.OLEDB.4.0;」 + 「數據源=」 +使用Server.Mappath( 「寵物/ Pets.mdb」)); – Rahul
@David:我添加了一些代碼:) @Rahul:不,這是不可能的,如果我這樣做,我在編譯錯誤生成的代碼,它沒有找到連接字符串。在我的代碼中,我可以指定這個連接? (並且我不在服務器上,它是一個簡單的客戶端應用程序 – J4N