我有emp
表,其中empId
是主键,另一个表empLogin
,其中empId
是外键,每当用户登录系统时ID从emp
表插入到empLogin
表中,此empId
在结算和重新接收表单中非常重要,我想显示员工姓名而不是其ID ...
我已经为这个想法编写了这些代码,但它给了我一个例外
无法绑定多部分标识符“empLogin.empId”
我的代码是:
cmd2 = new SqlCommand("select empName from emp where emp.empId=empLogin.empId", cn);
dr2 = cmd2.ExecuteReader();
dr2.Read();
rcptEmpNametxt.Text = dr["empName"].ToString();
dr.Close();
答案 0 :(得分:2)
最简单的方法是:
cmd2 = new SqlCommand("select empName from emp, empLogin where emp.empId=empLogin.empId", cn);
但是这个会更有用:
cmd2 = new SqlCommand("select empName from emp inner join empLogin on emp.empId=empLogin.empId", cn);
答案 1 :(得分:0)
您必须加入表并执行此操作,您的内联sql语句中没有使用连接,这是它抛出的原因"多部分标识符" empLogin.empId&# 34;无法受约束的#34;错误。
答案 2 :(得分:0)
emp
与empLogin
select empName
from emp
INNER JOIN empLogin ON emp.empId=empLogin.empId
答案 3 :(得分:0)
这样的事情应该有用......
SELECT TOP 1 empName
FROM EMP E
INNER JOIN EMPLOGIN EL ON E.empId = EL.empId
ORDER BY ... DESC
...
应替换为表格primary key
的{{1}}。
我希望这会有所帮助:)