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
  • 相关阅读:
    正则表达式匹配整数和小数
    解决任务计划程序未启动任务,因为相同任务的实例正在运行的问题
    ActiveMQ 消息持久化到数据库(Mysql、SQL Server、Oracle、DB2等)
    C# CLR20R3 程序终止的几种解决方案
    彻底消除wine中文乱码,QQ,kugoo等等....
    Fedora如何添加第三方软件源?
    [转]Fedora 下安装NVIDIA显卡驱动(使用后无法进入图形界面)
    向fedora添加rpmfusion源
    [转]Java 8 Optional类深度解析(null处理)
    [转载]深入理解Java 8 Lambda
  • 原文地址:https://www.cnblogs.com/wybztn/p/1986194.html
Copyright © 2011-2022 走看看