はじめに
C#学習1か月目の超初心者です。 つまったところをまとめました。やりたいこと
直にうっているSQLの接続文字列を、 App.Configファイルに記述し、そこから呼び出す。 若干、エラーがでたのでそこも記述します。#App.Configファイルへの記述
App.Config
//私の場合 バックスラッシュになってるところは本来は¥マークです。
<connectionStrings>
<add name="DB1"
connectionString="Data Source=CTS-SQL2014\SQL2014;Initial Catalog=Prac_TableName;Persist Security Info=True;User ID=ID;Password=password"
providerName="System.Data.SqlClient"/>
</connectionStrings>
Catalog=Prac_TableNameやら、IDやらパスワードは適当に打ち換えています。
#参照設定の追加
Visual Studioのソリューションエクスプローラーの「参照」から、
「参照の追加」で、「System.Configuration」を追加します。
ソリューションエクスプローラーの「参照」に追加されてることを確認してください。
#接続文字列の呼び出し
上部に、「using System.Configuration;」を追記します。
Form1.cs
//上記は省略
//SQLと接続するための記述
using System.Data.SqlClient;
//以下追記します。
using System.Configuration;
Form1.cs
//ここで接続文字列を呼びだし?
string ConnectionStr = ConfigurationManager.ConnectionStrings["DB1"].ConnectionString;
DataTable dt = new DataTable();
//SQLに接続する
SqlConnection cn;
//ここで接続文字列を使用しています。
cn = new SqlConnection(ConnectionStr);
cn.Open();
#発生したエラー
Form1.csにSQLの接続文字列を記載していたときは、
データソース名に、¥
が入っており、それだとエスケープシークエンス?になるので、
¥
を二つ記載してました。
しかしながら、App.Configファイルで同じように記載すると、
呼び出される接続文字列には¥
が4つも入っていました。。
そのため、App.Configファイルには、本来通り¥
マーク一つ記載するようにしたところうまくいきました。