Exemplo n.º 1
0
        /// <summary>
        /// EXECL,WORD模版添加新的主键列判定方式,如列中文名称 A(主键) 带有(主键)则认为该列是主键列
        /// 2014-07-23添加该方法以支持项目判断主键的方式
        /// </summary>
        /// <param name="mColumn">列信息</param>
        public static void GetPrimaryKeyInfo(ColumnInfo mColumn, TableInfo pTable)
        {
            if (mColumn == null || string.IsNullOrEmpty(mColumn.Name) || mColumn.PK)
            {
                return;
            }
            string temp = ClearEmpty(mColumn.Name);

            temp = temp.Replace("(", "(").Replace(")", ")").ToUpper();
            if (temp.Contains("(主键)") || temp.Contains("(PK)"))
            {
                mColumn.Name     = temp.Replace("(主键)", "").Replace("(PK)", "");
                mColumn.Nullable = true;
                PkKeyInfo pk = new PkKeyInfo();
                pk.Name    = mColumn.Code;
                mColumn.PK = true;
                pTable.ListPkKeyInfo.Add(pk);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取EXECL或者Word的列信息
        /// </summary>
        /// <param name="dic">列信息字典信息</param>
        /// <param name="sTemp">列的值</param>
        /// <param name="mColumn">列</param>
        /// <returns>列信息</returns>
        public static void GetColumnInfo(Dictionary <int, string> dic, string sTemp, ColumnInfo mColumn, int iCell, TableInfo pTable)
        {
            switch (dic[iCell])
            {
            //列中文名称
            case "字段中文名":
                mColumn.Name = sTemp;
                break;

            //列英文名称
            case "字段英文名":
                mColumn.Code = sTemp;
                break;

            case "数据类型":
                mColumn.DataTypeStr = sTemp.Replace("(", "(").Replace(")", ")");
                mColumn.DataType    = Common.GetColumnDataType(mColumn.DataTypeStr);
                break;

            case "宽度":
                mColumn.Width = sTemp;
                break;

            //主键信息
            case "主键":
            case "约束":
                if (sTemp.ToLower() == "pk" || Common.ConvertToBooleanPG(sTemp))
                {
                    PkKeyInfo pk = new PkKeyInfo();
                    pk.Name    = mColumn.Code;
                    mColumn.PK = true;
                    pTable.ListPkKeyInfo.Add(pk);
                }
                break;

            //列默认值
            case "默认值":
                mColumn.DefaultValue = sTemp;
                break;

            //列描述
            case "说明":
            case "枚举&说明":
                mColumn.Comment = sTemp;
                break;

            //列是否可为空
            case "空值":
                //是否为空值处理和其它的不相同,只会填N或0表示该列不允许为空
                sTemp = sTemp.ToLower();
                if ((sTemp.Equals("n") || sTemp.Equals("0")) || sTemp.Equals("false") || sTemp.Equals("否"))
                {
                    mColumn.Nullable = true;
                }
                else
                {
                    mColumn.Nullable = false;
                }
                break;

            //列是否自增
            case "自增":
                mColumn.Identity = Common.ConvertToBooleanPG(sTemp);
                break;

            default:
                break;
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// EXECL,WORD模版添加新的主键列判定方式,如列中文名称 A(主键) 带有(主键)则认为该列是主键列
 /// 2014-07-23添加该方法以支持项目判断主键的方式
 /// </summary>
 /// <param name="mColumn">列信息</param>
 public static void GetPrimaryKeyInfo(ColumnInfo mColumn, TableInfo pTable)
 {
     if (mColumn == null || string.IsNullOrEmpty(mColumn.Name) || mColumn.PK)
     {
         return;
     }
     string temp = ClearEmpty(mColumn.Name);
     temp = temp.Replace("(", "(").Replace(")", ")").ToUpper();
     if (temp.Contains("(主键)") || temp.Contains("(PK)"))
     {
         mColumn.Name = temp.Replace("(主键)", "").Replace("(PK)", "");
         mColumn.Nullable = true;
         PkKeyInfo pk = new PkKeyInfo();
         pk.Name = mColumn.Code;
         mColumn.PK = true;
         pTable.ListPkKeyInfo.Add(pk);
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// 获取EXECL或者Word的列信息
 /// </summary>
 /// <param name="dic">列信息字典信息</param>
 /// <param name="sTemp">列的值</param>
 /// <param name="mColumn">列</param>
 /// <returns>列信息</returns>
 public static void GetColumnInfo(Dictionary<int, string> dic, string sTemp, ColumnInfo mColumn, int iCell, TableInfo pTable)
 {
     switch (dic[iCell])
     {
         //列中文名称
         case "字段中文名":
             mColumn.Name = sTemp;
             break;
         //列英文名称
         case "字段英文名":
             mColumn.Code = sTemp;
             break;
         case "数据类型":
             mColumn.DataTypeStr = sTemp.Replace("(", "(").Replace(")", ")");
             mColumn.DataType = Common.GetColumnDataType(mColumn.DataTypeStr);
             break;
         case "宽度":
             mColumn.Width = sTemp;
             break;
         //主键信息
         case "主键":
         case "约束":
             if (sTemp.ToLower() == "pk" || Common.ConvertToBooleanPG(sTemp))
             {
                 PkKeyInfo pk = new PkKeyInfo();
                 pk.Name = mColumn.Code;
                 mColumn.PK = true;
                 pTable.ListPkKeyInfo.Add(pk);
             }
             break;
         //列默认值
         case "默认值":
             mColumn.DefaultValue = sTemp;
             break;
         //列描述
         case "说明":
         case "枚举&说明":
             mColumn.Comment = sTemp;
             break;
         //列是否可为空
         case "空值":
             //是否为空值处理和其它的不相同,只会填N或0表示该列不允许为空
             sTemp = sTemp.ToLower();
             if ((sTemp.Equals("n") || sTemp.Equals("0")) || sTemp.Equals("false") || sTemp.Equals("否"))
             {
                 mColumn.Nullable = true;
             }
             else
             {
                 mColumn.Nullable = false;
             }
             break;
         //列是否自增
         case "自增":
             mColumn.Identity = Common.ConvertToBooleanPG(sTemp);
             break;
         default:
             break;
     }
 }