我正在使用的查询是
SELECT firstName + ', ' + lastName FROM employees
ORDER BY lastName
返回一个值表,如
工人,鲍勃Nevarez,Ray
依此类推,这就是我想要的。我正在使用此查询填充一个充满员工的组合框。我的问题是,既然将这些结果放在一起,是否有可能以任何方式将它们用作索引?我希望能够在组合框中选择该人,点击提交按钮,并让它拉出他们的个人资料。但由于组合框只存储像“工人,鲍勃”这样的东西,我不知道在下一个查询中我会用什么来找到那个人。那有意义吗?有什么想法吗?
答案 0 :(得分:2)
最好使用表中的主键(可能是employee_id
)作为索引。
您的查询看起来像这样(或类似):
SELECT firstName + ', ' + lastName AS fullname, employee_id FROM employees
ORDER BY lastName
然后,您使用employee_id
作为选项的值,fullname
作为文本/显示。然后,您可以通过引用其ID直接链接到用户。
如果你只是名字,那么两个人可能有相同的名字,这无疑会让你感到头痛。
修改强>
使用Windows窗体,您可以通过执行以下操作将组合框绑定到DataTable(包含结果):
DataTable dt; //populate this however you want with the query above
combobox1.DataSource = dt;
combobox1.DisplayMember = "fullname";
combobox1.ValueMember = "employee_id";
答案 1 :(得分:0)
SELECT employeeID, firstName + ' ' + lastName AS fullname
FROM employees
ORDER BY lastName
设置DataValueField
和DataText
属性,如下所示:
DropDown1.DataValueField="employeeID";
DropDown1.DataTextField="fullname";