22
schangxiang@126.com
2025-03-31 00fda34dd9bbe207583d7fac19b306ae32db18f0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
using Excel2SQL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace GenerateModel
{
    /// <summary>
    /// 公共类
    /// </summary>
    public class Common
    {
        /// <summary>
        /// 当前时间字符串
        /// </summary>
        /// <returns></returns>
        public static string GetCurDate()
        {
            return DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day
                            + " "
                            + DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second;
        }
 
        /// <summary>
        /// 生成属性字符串
        /// </summary>
        /// <param name="columnModel"></param>
        /// <returns></returns>
        public static string GetStrForColumnListStr(List<ColumnEntity> 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;
            }
        }
 
     
 
        /// <summary>
        /// 生成唯一索引
        /// </summary>
        /// <param name="tableName"></param>
        /// <param name="unqiueIndex"></param>
        /// <returns></returns>
        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();
        }
 
       
 
 
 
    }
 
}