/// <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); } }
/// <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; } }
/// <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; } }