zoukankan      html  css  js  c++  java
  • 删除数据库表中字段的描述 洋

     #region 
        /// <summary>
        /// 删除数据库表中字段的描述
        /// </summary>
        public static void DelMS_Description()
        {
            string str = GetTables_SystemTable();
            string[] st = str.Substring(1).Split(',');
            if (st.Length > 0)
            {
                for (int i = 0; i < st.Length; i++)
                {
                    string strsql = "select name from syscolumns where id=object_id('" + st[i] + "')";
                    DataSet ds = DbSQL.Query(strsql);
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
                        {
                            string colName = ds.Tables[0].Rows[j]["name"].ToString();
                            string strs = "SELECT * FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', '"+st[i]+"', 'column', '" + colName + "')";
                            DataSet dsx = Main.GetList(strs);
                            if (dsx.Tables[0].Rows.Count > 0)
                            {
                                SqlParameter[] parameters = {
                                  new SqlParameter("@name","MS_Description"),
                                  new SqlParameter("@level0type", "user"),
                                  new SqlParameter("@level0name", "dbo"),
                                  new SqlParameter("@level1type", "table"),
                                  new SqlParameter("@level1name", st[i] ),
                                  new SqlParameter("@level2type", "column"),
                                  new SqlParameter("@level2name", colName)
                                  };
                                DbSQL.RunProcedure("sp_dropextendedproperty", parameters);
                            }
                        }
                    }
                }
            }
        }
        private  static string GetTables_SystemTable()
        {
            string st = string.Empty;
            //打开连接
            string strConnectionString = ConfigurationManager.ConnectionStrings["Logistic"].ConnectionString;
            using (SqlConnection sqlcn = new SqlConnection(strConnectionString))
            {
                sqlcn.Open();
                //使用信息架构视图
                SqlCommand sqlcmd = new SqlCommand("SELECT OBJECT_NAME (id) FROM sysobjects WHERE xtype = 'U' AND OBJECTPROPERTY (id, 'IsMSShipped') = 0", sqlcn);
                SqlDataReader dr = sqlcmd.ExecuteReader();
                while (dr.Read())
                {
                    st += "," + dr.GetString(0);
                }
            }
            return st;
        }
        #endregion
  • 相关阅读:
    【干货分享】流程DEMO-制度发文和干部任免
    如何让流程表单禁用选人控件,但可以通过代码赋值?
    让任正非愤怒的到底是华为财管团队还是流程本身?
    品牌营销:不要Beat,要逼格!
    流程再造:以信息化管理解救“中国制造”
    三星Note 7停产,原来是吃了流程的亏
    BAT“搅局”B2B市场,CIO们准备好了吗?
    胡理辉:风电王国里的流程管控人
    周义:建设流程管理系统 我还在不停努力
    步步高彭雄:弄潮“互联网+零售”从端到端流程开始
  • 原文地址:https://www.cnblogs.com/wybztn/p/1986194.html
Copyright © 2011-2022 走看看