在vb.net中过滤已过滤的结果

问题描述:

有人可以帮助我吗? 我有两个组合框,cboSearchby(持有该项目1st sem2nd sem)和cboSY(持有该项目2014-20152015-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() 
+0

非常感谢你的回复,先生,但我只是一个初学者编程,我不明白你上面的说明。你能说清楚我的先生吗? – user3459793 2015-02-10 17:15:35

+0

假设你在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

+0

非常感谢你的先生!问题已经解决,但我仍然接受你的名誉的答案:) – user3459793 2015-02-12 00:57:07