Пример #1
0
        //保存列字段信息
        public void SaveColumn()
        {
            NameValueCollection Params = HttpContext.Request.Form;//参数
            Column column = new Column();

            column.Author     = User.Identity.Name;
            column.TablesCode = new Guid(Params["tablesCode"]);
            column.Owner      = Params["owner"];
            column.Name       = Params["name"];
            column.Type       = Params["type"];
            column.Bewrite    = Params["bewrite"];
            column.FieldState = int.Parse(Params["fieldState"]);
            column.HideAuthor = Params["hideAuthor"];
            column.HideTime   = DateTime.Now;//默认为空
            string result = string.Empty;

            if (Params["code"] != null)
            {
                column.Code = new Guid(Params["code"]);
                result      = DColumn.Update(column) != null ? "{HasError:false,msg:'列字段编辑成功!'}" : "{HasError:true,msg:'列字段编辑失败,请稍候再试!'}";
            }
            else
            {
                column.Code = Guid.NewGuid();
                result      = DColumn.Add(column) != null ? "{HasError:false,msg:'列字段创建成功!'}" : "{HasError:true,msg:'列字段创建失败,请稍候再试!'}";
            }
            Response.Write(result);
            Response.End();
        }
Пример #2
0
        /// <summary>
        /// 根据(副表同步主表)说明
        /// </summary>
        /// <param name="Params">参数</param>
        /// <param name="tablesCode">表编码</param>
        /// <param name="TablesName">表名</param>
        /// <param name="SqlConnection">链接字符串</param>
        /// <param name="columnDt">主表</param>
        /// <param name="columnlist">附表</param>
        private void SynchronousChief(NameValueCollection Params, Guid tablesCode, string TablesName, string SqlConnection, DataTable columnDt, IList <Column> columnlist)
        {
            string SynchronousSQL = string.Empty;

            for (int i = 0; i < columnlist.Count; i++)
            {
                int columnNumber = 0;//记录主表与副表的交集数
                for (int j = 0; j < columnDt.Rows.Count; j++)
                {
                    //同步主表说明的SQL
                    if (columnDt.Rows[j]["columnsName"].ToString() == columnlist[i].Name && columnlist[i].Bewrite != "" &&
                        (columnDt.Rows[j]["remark"].ToString() == "" || columnDt.Rows[j]["remark"].ToString() != columnlist[i].Bewrite))
                    {
                        SynchronousSQL += string.Format("execute {4} N'MS_Description',N'{3}',N'SCHEMA',N'{0}',N'table',N'{1}',N'column',N'{2}';",
                                                        columnlist[i].Owner, TablesName, columnlist[i].Name, columnlist[i].Bewrite,
                                                        columnDt.Rows[j]["remark"].ToString() == "" ? "sp_addextendedproperty" : "sp_updateextendedproperty");
                    }
                    //同步副表说明
                    if (columnDt.Rows[j]["columnsName"].ToString() == columnlist[i].Name && columnlist[i].Bewrite == "" &&
                        columnDt.Rows[j]["remark"].ToString() != "")
                    {
                        Column column = new Column();
                        column.Author     = User.Identity.Name;
                        column.TablesCode = tablesCode;
                        column.Owner      = columnlist[i].Owner;
                        column.Name       = columnlist[i].Name;
                        column.Type       = columnlist[i].Type;
                        column.Bewrite    = columnDt.Rows[j]["remark"].ToString();
                        column.FieldState = 1;
                        column.HideAuthor = string.Empty;
                        column.HideTime   = DateTime.Now;
                        column.Code       = columnlist[i].Code;
                        DColumn.Update(column);
                    }
                    if (columnDt.Rows[j]["columnsName"].ToString() == columnlist[i].Name)
                    {
                        columnNumber++;
                    }
                }
                //附表存在作废字段
                if (columnNumber == 0)
                {
                    Column column = columnlist[i];
                    column.FieldState = 0;
                    column.HideAuthor = User.Identity.Name;
                    column.HideTime   = DateTime.Now;
                    DColumn.Update(column);
                }
            }
            if (!string.IsNullOrEmpty(SynchronousSQL))
            {
                SQLHelper.ExecuteSql(SqlConnection, SynchronousSQL);
            }
        }