2011-10-31 2 views
1

私の現在のC#のWindowsフォームアプリケーションでは、情報を取得するためにデータベースに接続するには、次のコードを使用していると私は外部Connection.configファイルやコンテンツを書かれている外部接続文字列設定ファイルを作成し、それを認識して読み取るにはどうすればよいですか?

public static String connectionString ="Data Source=####; Initial Catalog=###; User ID=####; Password='####'"; 

それはSetting.csに格納されています

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <connectionStrings> 
    <add name="Connection" providerName="System.Data.providername" 
     connectionString="Data Source=####; Initial Catalog=###; User ID=###;      Password='####!';" /> 
    </connectionStrings> 
</configuration> 

は正しく記述されていますか?私はちょうどコピーと貼り付けのオンラインと私は "名前の追加"とproviderNameの部分は何かわからないように接続文字列の部分をedittedの並べ替え。

私が質問したいのは、外部設定ファイルから接続文字列を読み込むためのコードをどこに書いて、私のsetting.csファイル内のコードを削除できるかです。

ありがとうございました。

###は、情報を表すために私に置き換えられています。

答えて

1

閉じる設定タグの上にあるweb.configファイルの下に右を追加します。

public void Page_Load(object sender, EventArgs e) 
{ 
     string connectionString = ConfigurationManager.ConnectionStrings["nameyouwanttogivethisconnection"].ConnectionString; 
     SqlConnection SqlConnection = new SqlConnection(connectionString); 
     SqlCommand SqlCommand = new SqlCommand("update table etc etc....",SqlConnection); 
     SqlConnection.Open(); 
     SqlCommand.ExecuteNonQuery(); //This line is for updates and inserts, use SqlCommand.ExecuteReader(CommandBehavior.CloseConnection); for select statments 
     SqlConnection.Close(); 
} 

あなたが上でこのコードを使用しているページの先頭にこれらの参照を追加していることを確認してください:

<connectionStrings> 
     <add connectionString="Data Source=Servernamegoeshere;Initial Catalog=databasenamehere;Persist Security Info=True;User ID=***;Password=***" name="nameyouwanttogivethisconnection" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
</configuration> 

は、このメインフォームの使用のページのロードの接続を参照するには

using System.Data; 
using System.Configuration; 
using System.Data.SqlClient; 

この接続を使用して、データベースに対して実行するSqlコマンドを作成できます。

+0

こんにちは、返信ありがとうございます。それは非常に完全な答えでした。しかし、小さな問題があります。現在のコンテキストにconfigurationmanagerという名前が存在しないと言います。どのようにそれを修正するための任意のアイデア? – Thomas

+0

参照を追加する必要がある場合があります。 – KreepN

+0

私はあなたが持っている限り、それを信じています:using System.Configuration; System.Data.SqlClientを使用します。ページの上部には、ページの読み込み用のコードを貼り付けるときに参照を取得する必要があります。 http://i.imgur.com/UF8DF.png – KreepN

1

我々は使用:

<configuration> 
    <appSettings> 
     <add key="connection.string" value="Initial Catalog=XXX;server=localhost;User=YYY;Password=ZZZ;" /> 
    </appSettings> 
</configuration> 

してからちょうど:

ConfigurationManager.AppSettings["connection.string"]; 
+0

こんにちは感謝を入力します。しかし、どこに2番目の部分を置くのですか?私はloginformとmainformを持っていて、私はmainFormで情報を取得すると仮定しています。 – Thomas

+0

DB接続を作成すると、次のようになります。string connectionString = ConfigurationManager.AppSettings ["connection.string"]; – sasjaq

+0

ともう1つの詳細については、System.Configurationを参照して、 – sasjaq

3

をあなたの設定ファイルを分割する設定ソースを使用することができます。例アプリケーション/ web.configファイル:

<connectionStrings configSource="myExternalConfigSource.xml" /> 

外部設定:

<connectionStrings>   
    <add name="Connection" providerName="System.Data.providername" 
    connectionString="Data Source=####; Initial Catalog=###; User ID=###; /> 
</connectionStrings> 

さらに詳しい情報:http://www.nikhilk.net/Entry.aspx?id=158

あなたは、このメソッドを使用する場合は、通常どおり設定を参照し、まだあなたの構成を有することができます別々のファイルに分割されます。

0

また、右ソリューションエクスプローラでプロジェクトを右クリックし、[プロパティ]を選択し

  1. (これは自動的に行われます)ApplicationSettingsを使用して、手動で設定ファイル内の情報を書き込むことを忘れることができます。
  2. [設定]タブに移動します。
  3. リンクをクリックして設定ファイルを作成します。 (これは「設定」と呼ばれます。設定)
  4. [名前]に、接続文字列に使用する名前を入力します。 (すなわちのConnectionString)スコープの種類については
  5. 、選択接続文字列
  6. 、値の選択アプリケーション
  7. は、あなたの接続文字列を貼り付けます。

あなたがそれを使用したい場合は、単に答えを

Application.Settings.Default.ConnectionString 

すなわち

SqlConnection connection = new SqlConnection(Application.Settings.Default.ConnectionString); 
関連する問題