0

我有tblEmployees带列的EmployeeID, DeptID, Fname, Lname表和tblDepartments带列的表DeptID, Deptname, Description

我正在尝试使用 datagridview 从 tblEmployees 检索所有记录,但对于第二列,我想显示 的值Deptname。例如我有 2 个部门,1 = dept1 和 2 = dept2。我希望输出是部门的名称而不是 DeptID。我如何使用 asp.net c# 来做到这一点?

另外,如何将FnameandLname合并为一列?谢谢。

4

3 回答 3

2

你可以使用如下的sql语句

select e.EmployeeID, e.DeptID, e.Fname, e.Lname, d.Deptname, d.Description, CONCAT(e.Fname ,' ' , e.Lname) as FullName  
from 
tblEmployees e join tblDepartments  d On d.DeptID = e.DeptID

演示

于 2013-11-13T03:58:22.613 回答
0

您可以使用以下 SQL:

select e.EmployeeID, e.DeptID, d.Deptname, d.Description, isnull(e.Fname,'')+' '+isnull( e.Lname,'') as empFullName from tblEmployees e join tblDepartments  d On d.DeptID = e.DeptID

您必须需要 isnull 函数才能cancat值,否则如果任何一个值为null,则concat值也为null。

对于 asp.net,您在 boundfield 中使用列名,并且您需要在 headerfield 中使用正确的名称,例如

<asp:boundfield runat="server" datafield="empFullName" headertext="Employee Name" >
于 2013-11-13T05:26:56.610 回答
0

对于第二个问题,您可以使用简单的连接

SELECT `Fname` + ' ' + `Lname` as `FullName`;
于 2013-11-13T03:36:23.913 回答