C# 如何设置DataGridView';是否将列名和headertext与单个SQL语句分开?

C# 如何设置DataGridView';是否将列名和headertext与单个SQL语句分开?,c#,tsql,datagridview,datagridviewcolumn,C#,Tsql,Datagridview,Datagridviewcolumn,当我使用SQL语句时,例如 select ID as ID, Name as CustomerName, Day1 as BirthDay, Day2 as MemberDay from [Customer] 要填充一个DataGridView(为演示而命名) 它将自动命名列的名称和标题文本。(身份证、客户姓名、生日和会员日) 有没有一种方法可以将名称和HeaderText设置为与SQL语句本身不同的名称和HeaderText 或者我只需要分别重命名每个Head

当我使用SQL语句时,例如

select
    ID as ID,
    Name as CustomerName,
    Day1 as BirthDay,
    Day2 as MemberDay
from [Customer]
要填充一个
DataGridView
(为演示而命名)

它将自动命名列的名称标题文本。(身份证、客户姓名、生日和会员日)

有没有一种方法可以将名称和HeaderText设置为与SQL语句本身不同的名称和HeaderText

或者我只需要分别重命名每个HeaderText

非常感谢你的帮助

编辑

因为根据用户的选择,SQL语句可能会有所不同,所以重命名每个HeaderText会很麻烦

当然,这是不可能做到的,但我必须考虑所有可能的情况,并相应地处理,可能,但令人厌烦和坏的实践。 最重要的是,一旦用户编辑了内容,就需要从
DataGridView
将其写回数据库

我无法从
DataGridView
本身找到原始列名,这就是为什么我试图寻找更好的方法来解决它


非常感谢你的帮助

您可以使用SQL SELECT AS的一种形式来重命名查询结果中的列

到目前为止,您已经看到查询结果返回以表列命名的结果的位置

为列命名[不同的名称]

select
    ID as [Customer ID],
    Name as [Customer Name(First and Last)],
    Day1 as [Date of Birth],
    Day2 as [Member Since]
from [Customer]

可以使用SQL SELECT AS的形式重命名查询结果中的列

到目前为止,您已经看到查询结果返回以表列命名的结果的位置

为列命名[不同的名称]

select
    ID as [Customer ID],
    Name as [Customer Name(First and Last)],
    Day1 as [Date of Birth],
    Day2 as [Member Since]
from [Customer]

你为什么要这么做?你能再多说点吗clear@Shehab请查看编辑。是否检查了列的DataPropertyName。我认为它有原始字段name@Shehab是的。都一样,你为什么要这么做?你能再多说点吗clear@Shehab请查看编辑。是否检查了列的DataPropertyName。我认为它有原始字段name@Shehab是的。都是一样的。对不起,这和我刚才写的SQL语句“完全”一样,没有解决任何问题。另一个选项是change HeaderText。您可以单独执行此操作,也可以创建一个包含SQL列结果和标题列表的字典。很抱歉,这与我刚才编写的SQL语句“完全一样”,没有解决任何问题。另一个选项是change HeaderText。您可以单独执行,也可以创建一个包含SQL列结果和标题列表的字典。