在vb.net中过滤已过滤的结果
问题描述:
有人可以帮助我吗? 我有两个组合框,cboSearchby
(持有该项目1st sem
和2nd sem
)和cboSY
(持有该项目2014-2015
和2015-2016
)在vb.net中过滤已过滤的结果
conn = New OleDbConnection(Get_Constring)
conn.Open()
cmd.Connection = conn
cmd.CommandType = CommandType.Text
sSQL = "SELECT edp_number, LastName + ', ' + FirstName as name, course as course, Address as address, syear as syear, Sem as sem FROM tblStudent"
If Me.cboSearchBy.Text = "1st" And Me.cboSY.Text = "2014-2015" Then
sSQL = sSQL & " where Sem like '1st" & Me.txtSearch.Text & "%' and syear like '2014-2015" & Me.cboSY.Text & "%' "
Else
sSQL = sSQL & " where Sem like '2nd" & Me.txtSearch.Text & "%' and syear like '" & Me.cboSY.Text & "%' "
End If
现在发生的事情是,当我选择SY 2015-2016
和选择1st sem
,这完全没有记录,但它仍然显示SY 2015-2016
的记录为2nd sem
,因为它对应于SY 2015-2016
,尽管它们是2nd sem
的记录,我选择了1st sem
。
所以我想知道的是如何让结果只适用于特定的SY和相应的学期选择第一或第二。
答
在你的代码中放置一个断点,然后调试页面。当您点击断点时,请在监视窗口中查看cmd.text,cboSY.Text和cboSearchBy.text的值。
如果问题出在你的sql上,或者如果问题在别处,你应该在查看cmd.text的内容后知道。
检查你的组合框传递的值,以确保你得到控制选项的值
Me.cboSY.selecteditem.tostring()
非常感谢你的回复,先生,但我只是一个初学者编程,我不明白你上面的说明。你能说清楚我的先生吗? – user3459793 2015-02-10 17:15:35
假设你在Visual Studio中工作,只是谷歌“在Visual Studio中调试”。你会一遍又一遍地使用你学到的东西。然后在if语句中更改使用comobox的选定项属性。 Me.cboSearchBy.Text变成Me.cboSearchBy.SelectedItem.ToString()和Me.cboSySearch.text变成Me.cboSySearch.SelectedItem.tostring() – 2015-02-11 19:03:53
非常感谢你的先生!问题已经解决,但我仍然接受你的名誉的答案:) – user3459793 2015-02-12 00:57:07