C# 如何将两个列值合并为一个列值?
我有一个表(Title-varchar,Description-varchar)。我将它绑定到datagrid以在windows应用程序中使用。但在这里,我希望将Title、Description和结果显示在一个单行单元格中。 如果我像这样使用C# 如何将两个列值合并为一个列值?,c#,asp.net,sql-server,datagridview,dataset,C#,Asp.net,Sql Server,Datagridview,Dataset,我有一个表(Title-varchar,Description-varchar)。我将它绑定到datagrid以在windows应用程序中使用。但在这里,我希望将Title、Description和结果显示在一个单行单元格中。 如果我像这样使用 Select Names, 'myData' from emp 输出为: Name1 myData Name2 myData Name3 myData 但是,我需要在一个 单列: Name1 my
Select Names, 'myData' from emp
输出为:
Name1 myData
Name2 myData
Name3 myData
但是,我需要在一个
单列:
Name1
myData
Name2
myData
Name3
myData
我想把它绑定到datagrid
我该怎么做?试试看
SELECT Names + char(13) + Description FROM emp
这将在两列值之间插入一条换行符,并将结果作为一列返回。请重试
SELECT Names + char(13) + Description FROM emp
Select Names + CHAR(10) + CHAR(13) + 'myData'
from emp
这将在两列值之间插入一条换行符,并将结果作为一列返回
Select Names + CHAR(10) + CHAR(13) + 'myData'
from emp
将在DB级别为您将所有内容放在一列中
将在DB级别为您将所有内容放在一个列中。如果您想要合并这些列,您必须按照以下代码进行操作
Select Name, Family, Name+ CHAR(13) +Family as FullName From Employee
希望对您有所帮助。如果您想合并这些列,您必须按照以下代码进行操作
Select Name, Family, Name+ CHAR(13) +Family as FullName From Employee
希望这有帮助。我不建议在数据库层进行这样的转换,查询应该尽可能长地返回表,所以在应用程序层进行转换,例如使用LINQ:
var transformedItems = items.Select(item => String.Format("{0}{1}{2}",
item.Name,
Environment.NewLine,
item.Description));
我不建议在数据库层进行这种转换,查询应尽可能长地返回表,所以在应用程序层进行转换,例如使用LINQ:
var transformedItems = items.Select(item => String.Format("{0}{1}{2}",
item.Name,
Environment.NewLine,
item.Description));
这不是OP的要求。努力解决你的答案,以避免投反对票。@Adrian-他没有指定是要在数据库还是应用程序级别进行转换。请不要生气。@Adrian:他问如何在一列中显示数据,在两个表列的值之间有一条换行符。这是实现此功能的一种完全合法的方式。@JNK:谢谢您的支持。我相信我的心情让您感到不安。很抱歉,我本应该对你好一点的。这个解决方案是有效的,是的。但是,OP可能希望“展平”两列结果,其中两列x三条记录的结果将变成6条记录的结果。至少,这是我所理解的。这不是OP所要求的。努力解决你的答案,以避免投反对票。@Adrian-他没有指定是要在数据库还是应用程序级别进行转换。请不要生气。@Adrian:他问如何在一列中显示数据,在两个表列的值之间有一条换行符。这是实现此功能的一种完全合法的方式。@JNK:谢谢您的支持。我相信我的心情让您感到不安。很抱歉,我本应该对你好一点的。这个解决方案是有效的,是的。但是,OP可能希望“展平”两列结果,其中两列x三条记录的结果将变成6条记录的结果。至少,这是我所理解的。