我有高級搜索,它包含combobox1,combobox2,combobox3我搜索的方式來進行數據庫搜索。 如果我選擇combobox1而不選擇combobox2和combobox3,如果我選擇combobox2而不選擇combobox1和combobox3也在combobox3中相同,並且在選擇所有組合框時我沒有找到解決方案,那麼是否需要爲每種情況製作比SqlCommand更多的?或者有一個簡單的方法來做到這一點,我試圖讓SqlCommand的高級搜索vb.net
Public Sub Load_Main(ByVal projectid As Integer, ByVal pdocid As Integer, ByVal depid As Integer)
main_Datatable.Clear()
Dim cmd As New SqlCommand("select * from main where [email protected] and [email protected] and [email protected]", DBConnection)
cmd.Parameters.Add("projectid", SqlDbType.Int).Value = projectid
cmd.Parameters.Add("pdocid", SqlDbType.Int).Value = pdocid
cmd.Parameters.Add("depid", SqlDbType.Int).Value = depid
DBConnection.Open()
main_Datatable.Load(cmd.ExecuteReader)
DBConnection.Close()
cmd = Nothing
End Sub
Load_Main(project_combo.SelectedValue, doc_combo.SelectedValue, Depart_combo.SelectedValue)
但是,如果我沒有選擇其他組合框只有一個那不行
建立你的SQL語句,並添加參數,只爲值不是o(或null)。 –
使用存儲過程,然後你可以使用動態sql或從代碼使用條件來構建你的sql;選一個。 – Codexer
此外,你應該包裝你的命令使用語句,以便他們得到妥善處置。 – Codexer