C# 接続手法を確認する | WEB系技術電脳日記

C# 接続手法を確認する

既に先行してRobin氏がMySQLの接続クラスなど用意しているが、
いまいちその手法が不明なので、ここでヲチしてみる。
最初に下記読み込ませて、

using KNERPMySqlConnection;
using KNERP共通;
※この案件がKNERPという業務上のプロジェクト(´・ω・)ス

KNERP共通.cs

内部には、

namespace KNERP共通
{
class MySql設定読込
{
private static MySql設定読込 instance = new MySql設定読込();

public string DataBase { get; private set; }
public string Server { get; private set; }
public string UserId { get; private set; }
public string UserPw { get; private set; }

private MySql設定読込()
{
IniFile ini = new IniFile("../DB接続.ini");
DataBase = ini["CONNECT", "DataBase"];
Server = ini["CONNECT", "Server"];
UserId = ini["CONNECT", "UserId"];
UserPw = ini["CONNECT", "UserPw"];
}

----(略)



まずその宣言が不明なので確認する。
instance = new MySql設定読込();

下の private MySql設定読込() をインスタンス化してるのはわかるが、
なぜ宣言するのだろう・・・。
クラスの中で、MySql設定読込.~~じゃダメなのだろうか。
まぁ・・とりあえず、読み進める。
その後、

public static string 接続文字列
{
get
{
return
"Database='" + instance.DataBase + "'; " +
"server='" + instance.Server + "'; " +
"User Id='" + instance.UserId + "'; " +
"Password='" + instance.UserPw + "'; " +
"Charset='utf8';" +
"Allow Zero Datetime=True;";
}
}

・・・とある。
まったくどうしてるのか不明だが、ここで、MySQLの呼び出し部分を見てみる。
ボタンの保存イベントで、

// 保存ボタンクリックイベント
private void bt保存_Click(object sender, EventArgs e)
{
文字列関数.fs指定文字列削除(this.Controls, "'");

親Leave(tb得意先コード, null);

ls得意先マスタ登録();
}

そのアクションは入力チェック->カスタムコントロールチェック->変数入れ込み後、

string strSQL = string.Empty;
if (lvi動作モード == 動作モード.新規)
strSQL = マスタ.INSERT_SQL();
else
strSQL = マスタ.UPDATE_SQL();

if (マスタ.vlsErrColumn.Count == 0)
{
---(略)

lvmsc接続.DB接続();
if (!lvmsc接続.HasConnect) { MessageBox.Show("接続にに失敗しました"); return; }

if (!lvmsc接続.SQL文実行(strSQL))

お、DB接続なんてどこで出てきた?
再度追う。
private MySqlConnection lvmsc接続 =              //データベース接続用変数
new MySqlConnection(MySql設定読込.接続文字列);

これか?


聞くとインスタンス化したのは、
毎回ini読むと途中から読めなくなるとの・・・・ほう・・
ちと、ここは簡易な接続からここまで追って書いてみるか。