Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        /// <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;
            }
        }
Exemple #4
0
    /// <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("");
        }
    }
Exemple #5
0
    /// <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;
            }
        }
    }
Exemple #6
0
        /// <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);
            }
        }
Exemple #7
0
        /// <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;
            }
        }
Exemple #8
0
        /// <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;
            }
        }