C# 接続手法を確認する
既に先行してRobin氏がMySQLの接続クラスなど用意しているが、
いまいちその手法が不明なので、ここでヲチしてみる。
最初に下記読み込ませて、
using KNERPMySqlConnection;
using KNERP共通;
※この案件がKNERPという業務上のプロジェクト(´・ω・)ス
KNERP共通.cs
内部には、
まずその宣言が不明なので確認する。
instance = new MySql設定読込();
下の private MySql設定読込() をインスタンス化してるのはわかるが、
なぜ宣言するのだろう・・・。
クラスの中で、MySql設定読込.~~じゃダメなのだろうか。
まぁ・・とりあえず、読み進める。
その後、
・・・とある。
まったくどうしてるのか不明だが、ここで、MySQLの呼び出し部分を見てみる。
ボタンの保存イベントで、
そのアクションは入力チェック->カスタムコントロールチェック->変数入れ込み後、
お、DB接続なんてどこで出てきた?
再度追う。
private MySqlConnection lvmsc接続 = //データベース接続用変数
new MySqlConnection(MySql設定読込.接続文字列);
これか?
聞くとインスタンス化したのは、
毎回ini読むと途中から読めなくなるとの・・・・ほう・・
ちと、ここは簡易な接続からここまで追って書いてみるか。
いまいちその手法が不明なので、ここでヲチしてみる。
最初に下記読み込ませて、
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読むと途中から読めなくなるとの・・・・ほう・・
ちと、ここは簡易な接続からここまで追って書いてみるか。