从列表框中选择值并在sql查询中用作列名.query从变量中动态选择列名

时间:2014-05-09 05:44:17

标签: sql vb.net variables select

我有VB.net应用程序,在运行时从列表框值中选择,然后应在select查询中使用。然后单击“保存命令”按钮。 请参阅下面的vb代码段

transport = lsttrans.SelectedItem
    leave = lstleave.SelectedItem

然后查询如下。注意传输和离开是不在现有员工表上的虚拟列。

select employeeid,'' as transport_allowance,'' as leave from employees

我希望以某种方式使用我在列表框中选择的值创建新查询,使其成为接近下面的内容。

select employeeid,transport,leave from employees

2 个答案:

答案 0 :(得分:1)

您是否已经知道如何从VB.NET中的数据库中检索数据?如果没有,那么你应该阅读ADO.NET。

假设您了解ADO.NET的工作原理,您的SQL只是String,因此您可以使用与其他任何String相同的方式构建它。在这种情况下,我建议调用String.Format方法将列名插入查询模板。

答案 1 :(得分:1)

使用 String.Format()。 下面是假设传输和离开变量已经声明的示例:

Dim myQueryTemplate As String = "SELECT employeeid, {0}, {1} FROM employees"
Dim myFinalQuery as String = String.Format(myQueryTemplate, transport, leave)

如果你要调试它,myFinalQuery的值将是:

"SELECT employeeid, transport, leave FROM employees"

如果需要,添加更多。从我给出的示例中,下一个参数将是{2},依此类推。