using Excel2SQL; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace GenerateModel { /// /// 公共类 /// public class Common { /// /// 当前时间字符串 /// /// public static string GetCurDate() { return DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + " " + DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second; } /// /// 生成属性字符串 /// /// /// public static string GetStrForColumnListStr(List columnList, string primaryKey) { try { StringBuilder sb = new StringBuilder(); string str_isNull = ""; string tabStr = " ";//默认的tab值 int i = 0; foreach (var item in columnList) { if (item.ColumnName == null) continue; i++; if (i == 1) { tabStr = ""; } else { tabStr = " ";//默认的tab值 } if (item.ColumnName.ToUpper() == primaryKey.ToUpper()) continue; str_isNull = " NULL "; if (item.IsNullAuble == "Y") { str_isNull = " NOT NULL "; } //获取数据类型 DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + item.DataType.ToLower()); switch (enumDT) { case DataTypeEnum.dt_char: sb.Append(tabStr + item.ColumnName + " CHAR(" + item.DataLength + ") " + str_isNull + ", -- " + item.ChinaName + "\n"); break; case DataTypeEnum.dt_varchar: case DataTypeEnum.dt_nvarchar: sb.Append(tabStr + item.ColumnName + " NVARCHAR(" + item.DataLength + ") " + str_isNull + ", -- " + item.ChinaName + "\n"); break; case DataTypeEnum.dt_int: sb.Append(tabStr + item.ColumnName + " INT " + str_isNull + ", -- " + item.ChinaName + "\n"); break; case DataTypeEnum.dt_bigint: sb.Append(tabStr + item.ColumnName + " BIGINT " + str_isNull + ", -- " + item.ChinaName + "\n"); break; case DataTypeEnum.dt_datetime: sb.Append(tabStr + item.ColumnName + " DATETIME " + str_isNull + ", -- " + item.ChinaName + "\n"); break; case DataTypeEnum.dt_bit: sb.Append(tabStr + item.ColumnName + " BIT " + str_isNull + ", -- " + item.ChinaName + "\n"); break; case DataTypeEnum.dt_decimal: sb.Append(tabStr + item.ColumnName + " DECIMAL" + item.DataLength + " " + str_isNull + ", -- " + item.ChinaName + "\n"); break; } } string resStr = sb.ToString(); if (resStr != "") { resStr = resStr.Substring(0, resStr.Length - 1); } return resStr; } catch (Exception ex) { throw ex; } } /// /// 生成唯一索引 /// /// /// /// public static string GetUniqueIndex(string tableName, string unqiueIndex) { if (unqiueIndex == "") { return ""; } StringBuilder sb = new StringBuilder(); sb.Append("IF NOT EXISTS(select 1 from sysindexes where id=object_id('" + tableName + "') and name='" + tableName + "_idx') \n"); sb.Append("CREATE UNIQUE INDEX \n"); sb.Append(" " + tableName + "_idx ON " + tableName + "(" + unqiueIndex + ") \n"); sb.Append("GO \n"); return sb.ToString(); } } }