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