/// <summary> /// データベース更新実行処理 /// ※Insert Update Delete /// </summary> /// <param material_name="strSql"></param> public int ExeDatabaseUpdate(string strSql) { var table = new DataTable(); var command = new SqlCommand(); try { // 実行するSQLの準備 command.Connection = M_Connection; command.CommandTimeout = 0; command.CommandText = @strSql; // SQLの実行 command.ExecuteNonQuery(); return(SystemInfo.RtnStatus.OK); } catch (SqlException exSql) { ErrCode = exSql.Number.ToString(); Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "DB更新処理に失敗", exSql.Message + "[ErrCode:" + exSql.Number + "]" + "[" + strSql + "]"); return(SystemInfo.RtnStatus.NG); } catch (Exception ex) { Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "DB更新処理で例外が発生", ex.Message + "[" + strSql + "]"); return(SystemInfo.RtnStatus.ER); } }
/// <summary> /// Select文実行関数 /// </summary> /// <param material_name="strSql"></param> public DataTable ExeSQL_Select(string strSql) { var table = new DataTable(); var command = new SqlCommand(); try { // 実行するSQLの準備 command.Connection = M_Connection; command.CommandTimeout = 0; command.CommandText = @strSql; // SQLの実行 var adapter = new SqlDataAdapter(command); adapter.Fill(table); } catch (SqlException exSql) { ErrCode = exSql.Number.ToString(); Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "Select文実行処理に失敗", exSql.Message + "[ErrCode:" + exSql.Number + "]" + "[" + strSql + "]"); } catch (Exception ex) { Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "Select文実行処理で例外が発生", ex.Message + "[" + strSql + "]"); } return(table); }
/// <summary> /// メニューボタンクリックイベント /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Menu_Click(object sender, RoutedEventArgs e) { string strMsg = ""; string strErrMsg = ""; Button ClickButton = (Button)sender; btnMenu ClickMenuInfo; try { // ボタンの名前に連番を降っており、それがLstBtnMenuの配列番号とリンクしている int IntMenuSeq = int.Parse(ClickButton.Name.Split('_')[1]); ClickMenuInfo = clsBindData.Menu[IntMenuSeq]; if (ClickMenuInfo.program_id != "") { // 実行ファイルを実行 bool BooMenuExe = Com01.CallMenuExe(ClickMenuInfo.program_id, Com01.clsSystemInfo.ComLineArgs); if (BooMenuExe == false) { strMsg = ClickMenuInfo.text + "の起動処理に失敗しました。"; return; } } else { // 直下のメニュー取得・設定 ProcMenuSetting(ClickMenuInfo.id); } } catch (Exception ex) { strMsg = "例外が発生しました。"; strErrMsg = ex.Message; } finally { clsBindData.AppMessage = Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, strMsg, strErrMsg); this.DataContext = clsBindData; // カーソルを待機カーソルに変更 Mouse.OverrideCursor = Cursors.Arrow; } }
/// <summary> /// システム設定情報 /// </summary> /// <param material_name="strSection"></param> /// <param material_name="strKey"></param> /// <returns></returns> private string GetIniInfo(string strSection, string strKey) { string strKankyoIniFile = strKankyoPath + "\\KANKYO\\Kankyo.ini"; try { if (System.IO.File.Exists(strKankyoIniFile) == false) { // ファイルが存在しない場合は例外 throw new Exception("環境ファイルが存在しません。[" + strKankyoIniFile + "]"); } StringBuilder sb = new StringBuilder(256); GetPrivateProfileString(strSection, strKey, string.Empty, sb, sb.Capacity, strKankyoIniFile); return(sb.ToString()); } catch (Exception ex) { // ログに記載 Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "環境設定取得処理に失敗しました。", ex.Message); return(""); } }
/// <summary> /// コマンドライン引数の値を構造体へセット /// </summary> private void GetCommandLineArgs() { // 引数取得 string[] strAryCommandLineArgs = Environment.GetCommandLineArgs(); if (strAryCommandLineArgs.Length == 1) { // コマンドライン引数なし時の処理 Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "コマンドライン引数なし", ""); return; } // 引数を構造体へ for (int intCount = 1; intCount <= strAryCommandLineArgs.Length - 1; intCount++) { // Key==Valueとなるように指定している前提 string[] words = strAryCommandLineArgs[intCount].Split("=="); if (words.Length != 2) { // 想定通りの形ではない場合は飛ばす continue; } switch (words[0]) { case CommandLineArgs_Key.kigyo_code: ComLineArgs.kigyo_code = words[1]; break; case CommandLineArgs_Key.user_id: ComLineArgs.user_id = words[1]; break; } } }
/// <summary> /// 接続開始 /// </summary> public void Connect() { string strConnectonString = ""; try { // 接続文字列を作成 strConnectonString = "Server = " + M_SqlConnectInfo.ServerName + ";" + "Database=" + M_SqlConnectInfo.DatabaseName + ";" + "User ID = " + M_SqlConnectInfo.User + ";" + "Password = "******";" + "MultipleActiveResultSets=True;"; // データベース接続の準備 M_Connection = new SqlConnection(strConnectonString); // データベースの接続開始 M_Connection.Open(); } catch (Exception ex) { Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, "SQL Server接続処理に失敗[" + strConnectonString + "]", ex.Message); } }
/// <summary> /// ログインボタンクリック /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Login_Click(object sender, RoutedEventArgs e) { string strMsg = ""; string strErrMsg = ""; Dictionary <string, SQL_Server.struct_vew001> Dic_vew001 = new Dictionary <string, SQL_Server.struct_vew001>(); try { #region 初期処理 // カーソルを待機カーソルに変更 Mouse.OverrideCursor = Cursors.Wait; SqlServer clsSqlServer = new SqlServer(Com01.clsSystemInfo.LoginDatabase); clsSqlServer.Connect(); #endregion #region ユーザ情報の取得とエラーチェック Dic_vew001 = Com02.Select_vew001(clsSqlServer, clsBindData.KigyoCode, clsBindData.UserID, clsBindData.PassWord); if (Dic_vew001.Count == 0) { // 取得件数が0件 strMsg = "ログインすることが出来ませんでした。入力内容を確認してください。"; return; } else if (Dic_vew001[clsBindData.KigyoCode].status != 0) { // 取得件数出来たがステータスが正常以外の場合 strMsg = "ログインすることが出来ませんでした。入力内容を確認し、間違いがなければ管理者へ御連絡ください。"; return; } #endregion #region メニュー画面起動 string strMenuExe = "MK0102"; // 引数を作成 SystemInfo.struct_CommandLineArgs SetComArgs = new SystemInfo.struct_CommandLineArgs(); SetComArgs.kigyo_code = clsBindData.KigyoCode; SetComArgs.user_id = clsBindData.UserID; // 実行 if (Com01.CallMenuExe(strMenuExe, SetComArgs) == false) { strMsg = "メニュー画面起動処理に失敗しました。"; return; } else { // 終了処理を実行 object obj = new object(); RoutedEventArgs rea = new RoutedEventArgs(); End_Click(obj, rea); } #endregion } catch (Exception ex) { strMsg = "例外が発生しました。"; strErrMsg = ex.Message; } finally { clsBindData.AppMessage = Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, strMsg, strErrMsg); this.DataContext = clsBindData; // カーソルを待機カーソルに変更 Mouse.OverrideCursor = Cursors.Arrow; } }
/// <summary> /// 新規登録処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Save_Click(object sender, RoutedEventArgs e) { string strMsg; string strErrMsg; string strProcName; strMsg = ""; strErrMsg = ""; try { // DB接続 SqlServer clsSqlServer = new SqlServer(Com01.clsSystemInfo.SystemDatabase); clsSqlServer.Connect(); // 登録・更新用の構造体へ値をセットする Com02.struct_m_kaisya m_kaisya; m_kaisya = Set_EntryData(clsSqlServer, clsBindData); // 新規/更新の文言を取得 if (m_kaisya.toroku_datetime == m_kaisya.koshin_datetime) { strProcName = "新規登録"; } else { strProcName = "更新"; } // エラーチェック bool booRtn = Com02.Chk_m_kaisya(strErrMsg, clsSqlServer, m_kaisya); if (booRtn == false) { strMsg = "入力内容に誤りがあります。"; return; } // 確認 MessageBoxResult msgResult = MessageBox.Show(strProcName + "処理を行います。" + Environment.NewLine + "よろしいですか?" , "確認:" + strProcName , MessageBoxButton.YesNo); if (!(msgResult == MessageBoxResult.Yes)) { strMsg = strProcName + "処理を中止しました。"; return; } // 新規/更新を実行 int result = SystemInfo.RtnStatus.ER; if (m_kaisya.toroku_datetime == m_kaisya.koshin_datetime) { // 新規 result = Com02.Insert_m_kaisya(clsSqlServer, m_kaisya); } else { // 更新 result = Com02.Update_m_kaisya(clsSqlServer, m_kaisya); } // 戻り値から表示するメッセージを切り替える switch (result) { case SystemInfo.RtnStatus.ER: strMsg = strProcName + "処理に失敗しました。"; break; case SystemInfo.RtnStatus.NG: strMsg = strProcName + "処理に失敗しました。"; if (!(clsSqlServer.ErrCode == "0")) { strMsg += "管理者に右記コードと共に御連絡ください。[エラーコード:" + clsSqlServer.ErrCode + "]"; } break; default: // 再検索処理を行う Search_Click(BtnF01, new RoutedEventArgs()); strMsg = strProcName + "処理が完了しました。"; break; } } catch (Exception ex) { strMsg = "例外が発生しました。"; strErrMsg = ex.Message; } finally { clsBindData.AppMessage = Com01.GetAppMessage(MethodBase.GetCurrentMethod().Name, strMsg, strErrMsg); this.DataContext = clsBindData; } }