ラベル ConnectionString の投稿を表示しています。 すべての投稿を表示
ラベル ConnectionString の投稿を表示しています。 すべての投稿を表示

2017年9月11日月曜日

ASP.NET MVC, ASP.NET Web API でのデータベース接続


ASP.NET MVC、ASP.NET Web API 両方で同じ設定が可能です。

Web.config
App_Data フォルダに DB1.mdb がある状態で、下記のように connectionString を設定します。
<connectionStrings>
  <!--a database file(mdf, ldf) will be created in App_Data folder of the project and attach to SQL Server-->
  <add name="DataContext" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DB1.mdf;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
</connectionStrings>

C# コードでは、Web.config で設定した接続文字列を使ってデータベースへ接続します。
var str = ConfigurationManager.ConnectionStrings["DataContext"].ConnectionString;

using (SqlConnection connection = new SqlConnection(str))
{
    connection.Open();
    using (SqlCommand command = new SqlCommand("Select * from dbo.incident;", connection))
    {
        SqlDataReader dr = command.ExecuteReader();
        while (dr.Read())
        {
            Debug.WriteLine(dr.GetValue(1).ToString());
        }
        dr.Close();
    }
}


2015年6月20日土曜日

ConfigurationManager クラスを使ってデータベース接続文字列を取得する

ConfigurationManager クラスを利用することで Web.config に定義されているデータベースへの接続文字列(ConnectionStrings)を取得することができます。

下記例では「ConnectionString1」という名前で登録されている接続文字列を C# コード側で取得しています。

Web.config
<configuration>
    <connectionStrings>
        <add name="ConnectionString1"
            connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\MyDB1.mdf;Integrated Security=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
    <system.web>
    ...
</configuration>

C# コード
// 接続文字列を指定してデータベースを指定
string ConnectionStr = 
    ConfigurationManager.ConnectionStrings["ConnectionString1"].ConnectionString;

SqlConnection conn =
    new SqlConnection(ConnectionStr);

リンク:
ConfigurationManager.ConnectionStrings プロパティ
https://msdn.microsoft.com/ja-jp/library/system.configuration.configurationmanager.connectionstrings(v=vs.110).aspx