SQL / C#:在连接搜索查询后,我可以重用任何有用的数据吗?

时间:2010-11-02 19:36:28

标签: sql indexing

我正在使用的查询是

    SELECT firstName + ', ' + lastName FROM employees
    ORDER BY lastName

返回一个值表,如

工人,鲍勃

Nevarez,Ray

依此类推,这就是我想要的。我正在使用此查询填充一个充满员工的组合框。我的问题是,既然将这些结果放在一起,是否有可能以任何方式将它们用作索引?我希望能够在组合框中选择该人,点击提交按钮,并让它拉出他们的个人资料。但由于组合框只存储像“工人,鲍勃”这样的东西,我不知道在下一个查询中我会用什么来找到那个人。那有意义吗?有什么想法吗?

2 个答案:

答案 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

设置DataValueFieldDataText属性,如下所示:

DropDown1.DataValueField="employeeID";
DropDown1.DataTextField="fullname";