zoukankan      html  css  js  c++  java
  • コーディング中常に使用される共通関数

    /// <summary>
            /// 年
            /// </summary>
            private const string MC_YEAR = "年";
            /// <summary>
            /// 月
            /// </summary>
            private const string MC_MONTH = "月";
            /// <summary>
            /// 日
            /// </summary>
            private const string MC_DAY = "日";
            /// <summary>
            /// NULL
            /// </summary>
            private const string MC_NULL = "NULL";
            /// <summary>
            /// =
            /// </summary>
            private const string MC_EQUAL = "=";

    #region 共通チェックとデータ変換
            /// <summary>
            /// 和暦→西暦
            /// </summary>
            /// <param name="date"></param>
            /// <returns></returns>
            private string JACalendarToEN(object date)
            {
                string strRet = string.Empty;
                if (IsDBNullOrNullOrEmpty(date) == false)
                {
                    System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US");
                    System.Globalization.Calendar cal = new System.Globalization.GregorianCalendar();
                    ci.DateTimeFormat.Calendar = cal;
                    strRet = DateTime.Parse(date.ToString()).ToString("yyyy/MM/dd", ci);
                }
                return strRet;
            }
            /// <summary>
            /// 西暦→和暦
            /// </summary>
            /// <param name="date"></param>
            /// <returns></returns>
            private string ENCalendarToJA(object date)
            {
                string strRet = string.Empty;
                if (IsDBNullOrNullOrEmpty(date) == false)
                {
                    System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("ja-JP");
                    System.Globalization.Calendar cal = new System.Globalization.JapaneseCalendar();
                    ci.DateTimeFormat.Calendar = cal;
                    strRet = DateTime.Parse(date.ToString()).ToString("ggy年MM月dd日", ci);
                }
                return strRet;
            }
            /// <summary>
            /// テキストボックス場合、DBデータへ変換
            /// </summary>
            /// <param name="strData"></param>
            /// <returns></returns>
            private string ConvertTxtToDBData(string strData)
            {
                string strRet = MC_NULL;
                if (!string.IsNullOrEmpty(strData))
                {
                    strRet = this.ChangeString(strData);
                }
                return strRet;
            }
            /// <summary>
            /// 日付場合、DBデータへ変換
            /// </summary>
            /// <param name="strData"></param>
            /// <returns></returns>
            private string ConvertDateToDBData(string strData)
            {
                string strRet = MC_NULL;
                if (!string.IsNullOrEmpty(strData))
                {
                    strRet = this.JACalendarToEN(strData);
                }
                return strRet;
            }
            /// <summary>
            /// コンボボックス場合、DBデータへ変換
            /// </summary>
            /// <param name="strData"></param>
            /// <returns></returns>
            private string ConvertCmbToDBData(object oData)
            {
                string strRet = MC_NULL;
                if (!IsDBNullOrNullOrEmpty(oData))
                {
                    strRet = oData.ToString();
                }
                return strRet;
            }
            /// <summary>
            /// コンボボックス場合、コンボボックスvalueデータへ変換
            /// </summary>
            /// <param name="strData"></param>
            /// <returns></returns>
            private object ConvertToCmbData(object oData)
            {
                object oRet = DBNull.Value;
                if (IsDBNullOrNullOrEmpty(oData) == false)
                {
                    oRet = oData;
                }
                return oRet;
            }
            /// <summary>
            /// チェックボックス場合、DBデータへ変換
            /// </summary>
            /// <param name="strData"></param>
            /// <returns></returns>
            private string ConvertChkToDBData(bool bData)
            {
                return Convert.ToInt32(bData).ToString();
            }
            /// <summary>
            /// 文字列取得
            /// </summary>
            /// <param name="oData"></param>
            /// <returns></returns>
            private string ConvertToStringData(object oData)
            {
                string strRet = string.Empty;
                if (IsDBNullOrNullOrEmpty(oData) == false)
                {
                    strRet = oData.ToString();
                }
                return strRet;
            }
            /// <summary>
            /// TRUE OR FALSE取得
            /// </summary>
            /// <param name="oData"></param>
            /// <returns></returns>
            private bool ConvertToBoolData(object oData)
            {
                bool bRet = false;
                if (IsDBNullOrNullOrEmpty(oData) == false)
                {
                    if (oData.ToString() == "1" || oData.ToString() == "0")
                    {
                        bRet = oData.ToString() == "1" ? true : false;
                    }
                    else
                    {
                        bRet = Convert.ToBoolean(oData);
                    }
                }
                return bRet;
            }
            /// <summary>
            /// DBNull、Null、Emptyの判定
            /// </summary>
            /// <param name="oData"></param>
            /// <returns></returns>
            private bool IsDBNullOrNullOrEmpty(object oData)
            {
                bool bRet = false;
                if (oData == DBNull.Value || oData == null || string.IsNullOrEmpty(oData.ToString().Trim()))
                {
                    bRet = true;
                }
                return bRet;
            }
            /// <summary>
            /// 数字判定
            /// </summary>
            /// <param name="oData"></param>
            /// <returns></returns>
            private bool IsNumber(object oData)
            {
                bool bRet = true;
                try
                {
                    if (!IsDBNullOrNullOrEmpty(oData))
                    {
                        double dblData = double.Parse(oData.ToString());
                    }
                }
                catch
                {
                    bRet = false;
                }
                return bRet;
            }
            /// <summary>
            /// 数字判定(小数点を含まない)
            /// </summary>
            /// <param name="oData"></param>
            /// <returns></returns>
            private bool IsNumberNotDot(object oData)
            {
                bool bRet = true;
                try
                {
                    if (!IsDBNullOrNullOrEmpty(oData))
                    {
                        if (oData.ToString().Contains("."))
                        {
                            bRet = false;
                        }
                        if (bRet)
                        {
                            double dblData = double.Parse(oData.ToString());
                        }
                    }
                }
                catch
                {
                    bRet = false;
                }
                return bRet;
            }
            /// <summary>
            /// 郵便番号、電話番号判定
            /// </summary>
            /// <param name="oData"></param>
            /// <returns></returns>
            private bool IsPostCodeOrPhone(object oData)
            {
                bool bRet = true;
                try
                {
                    if (!IsDBNullOrNullOrEmpty(oData))
                    {
                        string strPostCodeOrPhone = oData.ToString().Replace("-", "");
                        if (!IsNumberNotDot(strPostCodeOrPhone))
                        {
                            bRet = false;
                        }
                    }
                }
                catch
                {
                    bRet = false;
                }
                return bRet;
            }
            /// <summary>
            /// 数字また/
            /// </summary>
            /// <returns></returns>
            private bool IsDateKey(object oData)
            {
                bool bRet = true;
                try
                {
                    if (!IsDBNullOrNullOrEmpty(oData))
                    {
                        string strPostCodeOrPhone = oData.ToString().Replace("/", "");
                        if (!IsNumberNotDot(strPostCodeOrPhone))
                        {
                            bRet = false;
                        }
                    }
                }
                catch
                {
                    bRet = false;
                }
                return bRet;
            }
            /// <summary>
            /// 画面上の和暦日付の取得
            /// </summary>
            /// <param name="cmbGengo"></param>
            /// <param name="txtNen"></param>
            /// <param name="txtTuki"></param>
            /// <param name="txtHi"></param>
            /// <returns></returns>
            private string GetControlDateData(ComboBox cmbGengo, TextBox txtNen, TextBox txtTuki, TextBox txtHi)
            {
                string strDate = string.Empty;
                strDate = cmbGengo.Text + txtNen.Text + txtTuki.Text + txtHi.Text;
                if (!string.IsNullOrEmpty(strDate)
                    && !string.IsNullOrEmpty(cmbGengo.Text)
                    && !string.IsNullOrEmpty(txtNen.Text)
                    && !string.IsNullOrEmpty(txtTuki.Text)
                    && !string.IsNullOrEmpty(txtHi.Text))
                {
                    strDate = cmbGengo.Text + txtNen.Text + MC_YEAR + txtTuki.Text + MC_MONTH + txtHi.Text + MC_DAY;
                }
                return strDate;
            }
            /// <summary>
            /// 画面上の和暦日付のチェック
            /// </summary>
            /// <param name="strDate"></param>
            /// <returns></returns>
            private bool ChkControlJADateData(string strDate)
            {
                bool bRet = true;
                try
                {
                    if (!string.IsNullOrEmpty(strDate))
                    {
                        string strDateRet = this.JACalendarToEN(strDate);
                    }
                }
                catch
                {
                    bRet = false;
                }
                return bRet;
            }
            /// <summary>
            /// 画面上の西暦日付のチェック
            /// </summary>
            /// <param name="strDate"></param>
            /// <returns></returns>
            private bool ChkControlENDateData(string strDate)
            {
                bool bRet = true;
                try
                {
                    if (!string.IsNullOrEmpty(strDate))
                    {
                        string strDateRet = this.ENCalendarToJA(strDate);
                    }
                }
                catch
                {
                    bRet = false;
                }
                return bRet;
            }
            #endregion
            #region SQL文作成共通
            /// <summary>
            /// 新規場合、追加SQL文の作成
            /// </summary>
            /// <param name="strSqlInsCol"></param>
            /// <param name="strSqlInsVal"></param>
            private void GetInsertSQL(ref string strSqlInsCol, ref string strSqlInsVal)
            {
                string strSqlInsColRet = string.Empty;
                string strSqlInsValRet = string.Empty;
                string strCol = string.Empty;
                string strVal = string.Empty;
                //文字列場合、"'"追加と"'"を"''"に変更する
                //カラム
                strCol = "カラム列";
                this.SubAddCol(strCol, ref strSqlInsColRet);
                strVal = this.ConvertTxtToDBData("カラ'ム値");
                this.SubAddVal(this.SubAddPos(strVal), ref strSqlInsValRet);

                strSqlInsCol = strSqlInsColRet;
                strSqlInsVal = strSqlInsValRet;
            }
            /// <summary>
            /// 台帳編集場合、更新SQL文の作成
            /// </summary>
            /// <param name="strSqlInsCol"></param>
            /// <param name="strSqlInsVal"></param>
            private void GetUpdateSQL(ref string strSqlUpdSet)
            {
                string strSqlUpdSetRet = string.Empty;
                string strCol = string.Empty;
                string strVal = string.Empty;

                //文字列場合、"'"追加と"'"を"''"に変更する
                //カラム
                strCol = "カラム列";
                strVal = this.ConvertTxtToDBData("カラム値");
                this.SubUpdSet(strCol, SubAddPos(strVal), ref strSqlUpdSetRet);

                strSqlUpdSet = strSqlUpdSetRet;
            }
            /// <summary>
            /// カラム名の追加
            /// </summary>
            /// <param name="strCol"></param>
            /// <param name="strSql"></param>
            private void SubAddCol(string strCol, ref string strSqlInsColRet)
            {
                if (IsDBNullOrNullOrEmpty(strSqlInsColRet))
                {
                    strSqlInsColRet = strCol;
                }
                else
                {
                    strSqlInsColRet = strSqlInsColRet + "," + strCol;
                }
            }
            /// <summary>
            /// 値の追加
            /// </summary>
            /// <param name="strVal"></param>
            /// <param name="strSql"></param>
            private void SubAddVal(string strVal, ref string strSqlInsValRet)
            {
                if (IsDBNullOrNullOrEmpty(strSqlInsValRet))
                {
                    strSqlInsValRet = strVal;
                }
                else
                {
                    strSqlInsValRet = strSqlInsValRet + "," + strVal;
                }
            }
            /// <summary>
            /// カラム、値の追加
            /// </summary>
            /// <param name="strCol"></param>
            /// <param name="strVal"></param>
            /// <param name="strSql"></param>
            private void SubUpdSet(string strCol, string strVal, ref string strSqlUpdSetRet)
            {
                if (IsDBNullOrNullOrEmpty(strSqlUpdSetRet))
                {
                    strSqlUpdSetRet = strCol + MC_EQUAL + strVal;
                }
                else
                {
                    strSqlUpdSetRet = strSqlUpdSetRet + "," + "\r\n" + strCol + MC_EQUAL + strVal;
                }
            }
            /// <summary>
            /// 'の追加
            /// </summary>
            /// <param name="strVal"></param>
            /// <returns></returns>
            private string SubAddPos(string strVal)
            {
                string strValRet = strVal;
                if (strVal != MC_NULL)
                {
                    strValRet = "'" + strVal + "'";
                }
                return strValRet;
            }
            /// <summary>
            /// "''"に変更する
            /// </summary>
            /// <param name="strVal"></param>
            /// <returns></returns>
            private string ChangeString(string strVal)
            {
                return strVal.Replace("'", "''");
            }
            #endregion

  • 相关阅读:
    【转载】两军问题与Paxos算法 & 动画讲解Paxos算法
    hdu4611 Balls Rearrangement
    [置顶] github简单使用
    set与map容器
    [置顶] C++为什么是C++而不是++C
    HDU 4616 Game (搜索)、(树形dp)
    Just learn how to use the JNI
    HDU 4611 Balls Rearrangement (数学-思维逻辑题)
    冒泡排序改进
    Python基础
  • 原文地址:https://www.cnblogs.com/secying/p/2171278.html
Copyright © 2011-2022 走看看