Example #1
0
        public static void InitTableForSqlServer(TableEntity table) //初始化增删改等语句sqlserver专用
        {
            string Fields   = CommonUtil.GetFieldsStr(table.AllFieldList, "[", "]");
            string FieldsAt = CommonUtil.GetFieldsAtStr(table.AllFieldList);
            string FieldsEq = CommonUtil.GetFieldsEqStr(table.AllFieldList, "[", "]");

            string FieldsExtKey   = CommonUtil.GetFieldsStr(table.ExceptKeyFieldList, "[", "]");
            string FieldsAtExtKey = CommonUtil.GetFieldsAtStr(table.ExceptKeyFieldList);
            string FieldsEqExtKey = CommonUtil.GetFieldsEqStr(table.ExceptKeyFieldList, "[", "]");

            table.AllFields     = Fields;
            table.AllFieldsAt   = FieldsAt;
            table.AllFieldsAtEq = FieldsEq;

            table.AllFieldsExceptKey     = FieldsExtKey;
            table.AllFieldsAtExceptKey   = FieldsAtExtKey;
            table.AllFieldsAtEqExceptKey = FieldsEqExtKey;

            table.InsertSql = string.Format("INSERT INTO [{0}]({1})VALUES({2})", table.TableName, Fields, FieldsAt);
            if (!string.IsNullOrEmpty(table.KeyName)) //有主键(table has primary key)
            {
                if (table.IsIdentity)                 //是自增 (and the parmary is identity)
                {
                    table.InsertSql         = string.Format("INSERT INTO [{0}]({1})VALUES({2})", table.TableName, FieldsExtKey, FieldsAtExtKey);
                    table.InsertReturnIdSql = string.Format("INSERT INTO [{0}]({1})VALUES({2});SELECT @@IDENTITY;", table.TableName, FieldsExtKey, FieldsAtExtKey);
                }
                table.InsertIdentitySql = string.Format("SET IDENTITY_INSERT [{0}] ON;INSERT INTO [{0}]({1})VALUES({2});SET IDENTITY_INSERT [{0}] OFF", table.TableName, Fields, FieldsAt);
                table.DeleteByIdSql     = string.Format("DELETE FROM [{0}] WHERE [{1}]=@id", table.TableName, table.KeyName);
                table.DeleteByIdsSql    = string.Format("DELETE FROM [{0}] WHERE [{1}] IN @ids", table.TableName, table.KeyName);
                table.GetByIdSql        = string.Format("SELECT {0} FROM [{1}] WITH(NOLOCK) WHERE [{2}]=@id", Fields, table.TableName, table.KeyName);
                table.GetByIdsSql       = string.Format("SELECT {0} FROM [{1}] WITH(NOLOCK) WHERE [{2}] IN @ids", Fields, table.TableName, table.KeyName);
                table.UpdateSql         = string.Format("UPDATE [{0}] SET {1} WHERE [{2}]=@{2}", table.TableName, FieldsEqExtKey, table.KeyName);
            }

            table.DeleteAllSql = string.Format("DELETE FROM [{0}] ", table.TableName);
            table.GetAllSql    = string.Format("SELECT {0} FROM [{1}] WITH(NOLOCK) ", Fields, table.TableName);
        }