1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【C#】SQLの接続文字列をApp.configファイルから取得する Visual Studio 

Last updated at Posted at 2021-12-24

はじめに

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ファイルには、本来通り¥マーク一つ記載するようにしたところうまくいきました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?