2016-04-02 12 views
0

のための「動的」の接続文字列Iが示すように、接続文字列を経由して私のコードに接続されたアクセスデータベースがあります。私はこのアプリは他にインストールすることができるようにしたいと思いますしかしMS-アクセスC#の

connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Me\Documents\Visual Studio 2013\Projects\Computing Project\Database.accdb; 
Persist Security Info=False;"); 

を私は接続文字列が動的であり、各システム上で変更する必要があると推測しています。これを私のコードでどのように使うのですか?構成管理クラスは、アセンブリSystem.Configurationである:

+0

設定ファイルからハードコーディングする代わりに値を読み取っていますか? – Steve

答えて

0

は、コードに、コンテンツ

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" /> 
    </startup> 
    <connectionStrings> 
    <add name="MyCon" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Me\Documents\Visual Studio 2013\Projects\Computing Project\Database.accdb; Persist Security Info=False;"/ > 
    </connectionStrings> 
</configuration> 

を以下で溶液に

connection = new OleDbConnection(ConfigurationManager.ConnectionStrings["MyCon"].ToString()); 

PSをApp.configファイルを追加します。 このアセンブリを使用する前に、このアセンブリのリファレンスを追加してください。

+0

System.Configurationリファレンスを追加しましたが、このコードを使用するときに無効な引数があると表示されますか?私はあなたの代わりに私の接続文字列の名前を使用し、それはまだ動作していないようです。 –

+0

文字列に変換していません。更新された回答を確認してください –

+0

ありがとうございました!ソリューションを構築するときにデータベースを置くのに最適な場所はどこですか? –

関連する問題