私はそれが含まれている高度な検索を持っているcombobox1、combobox2、コンボボックス3私はデータベースで検索を行う方法を探しました。 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)
作ってみました。しかし、私は他のコンボボックスを選択しなかった場合は、その後、nullにパラメータを設定する場合は、単に1は
SQL文をビルドし、パラメータを追加し、値のみのためにo(またはnull)ではありません。 –
ストアドプロシージャを使用すると、動的SQLを使用することも、コードを使用してSQLを構築することもできます。一つを選ぶ。 – Codexer
また、適切に処分されるように、コマンドを使用してコマンドをラップする必要があります。 – Codexer