首页 > 解决方案 > 我想要扩展属性值作为列名

问题描述

首先,我是 sql 新手。现在我正在使用 mssql 。我有 6 张桌子,每张桌子有 4 到 6 列。它们都有扩展属性。我想要sys.extendedproperties.values所有列的名称,我该怎么做?那可能吗

SELECT  *
FROM sys.extended_properties 
班级 class_desc Major_id 未成年人ID 姓名 价值
1 OBJECT_OR_COLUMN 245575913 1 MS_Description 再创一年
1 OBJECT_OR_COLUMN 245575913 2 MS_Description 客户ID

这是扩展属性的示例

ID 姓名 创建日期 更新日期 行号
51 1 2020-09-12 21:50:00 2020-09-12 21:50:00 F2265B9B-FA3C-4D01-A3E2-E0C8B7068391
52 2 BBB 2020-09-12 21:50:00 2020-09-12 21:50:00 1637A361-BF1B-4EDB-B40C-92B3A9CCFD9E

这是我的一张桌子。

我想将年份显示为创纪录的年份

id作为客户 ID

命名为某事。

我只想在 C# datagridview 中更改为别名。那可能吗。

对不起我的语法

标签: c#sqldatagridview

解决方案


在c#中

private void Form1_Load(object sender, EventArgs e)
{
   SqlDataAdapter da = new SqlDataAdapter("SELECT MyTable.year AS [record year],MyTable.id AS [customer id],MyTable.name AS [something],MyTable.createdate,MyTable.renewdate,MyTable.rowid " +
      "FROM sys.tables AS MyTable WHERE NAME = 'extended_properties'", connstring);
   DataSet ds = new DataSet();
   da.Fill(ds, "MyTable");
   dataGridView1.DataSource = ds.Tables["MyTable"].DefaultView;
}

sql命令

SELECT MyTable.year AS [record year],MyTable.id AS [customer id],MyTable.name AS [something],MyTable.createdate,MyTable.renewdate,MyTable.rowid FROM sys.tables AS MyTable WHERE NAME = 'extended_properties'

推荐阅读