数据库查询多个条件之间不是有AND吗那字符串怎么弄呢?

u011132924 2014-03-05 11:10:58
接着昨天的问
Dim sfstr As String = "SELECT * FROM modeldatatable WHERE"
If CheckBox1.Checked = True Then sfstr = sfstr & " people LIKE'" & Me.TextBox5.Text & "'"
If CheckBox2.Checked = True Then sfstr = sfstr & " f_path LIKE'" & Me.TextBox6.Text & "'"
If CheckBox3.Checked = True Then sfstr = sfstr & " f_class LIKE'" & Me.ComboBox1.Text & "'"
If CheckBox4.Checked = True Then sfstr = sfstr & " m_class LIKE'" & Me.ComboBox2.Text & "'"
If CheckBox5.Checked = True Then sfstr = sfstr & " m_location LIKE'" & Me.TextBox7.Text & "'"
Dim sfConnection As New SqlConnection("server=hustami;database=modeldata;integrated security=true")

Dim sfDataSet As New DataSet()
Dim sfDataAdapter As New SqlDataAdapter()

sfDataAdapter.SelectCommand = New SqlCommand()
sfDataAdapter.SelectCommand.Connection = sfConnection

sfDataAdapter.SelectCommand.CommandText = sfstr
sfDataAdapter.SelectCommand.CommandType = CommandType.Text



sfDataAdapter.SelectCommand.Connection.Open()
sfDataAdapter.SelectCommand.ExecuteNonQuery()
sfDataAdapter.Fill(sfDataSet, "modeldatatable")
sfDataAdapter.SelectCommand.Connection.Close()

Form1.DataGridView1.AutoGenerateColumns = True
Form1.DataGridView1.DataSource = sfDataSet
Form1.DataGridView1.DataMember = "modeldatatable"


这样的话 单个属性选择之后可以 查询
但是 选2个或2个以上的话 SQL语句里面 WHERE 条件 需要加AND 怎么加进去而不出错呢?
...全文
131 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mayudong1 2014-03-05
  • 打赏
  • 举报
回复
在每个if的处理中后面添一个and 然后再整个sql语句的最后加一个 1=1 这样即使什么也没选时生成的语句是select * from table where 1=1也不会出错
处处留心 2014-03-05
  • 打赏
  • 举报
回复
union ?
u011132924 2014-03-05
  • 打赏
  • 举报
回复
引用 2 楼 mayudong1 的回复:
在每个if的处理中后面添一个and 然后再整个sql语句的最后加一个 1=1 这样即使什么也没选时生成的语句是select * from table where 1=1也不会出错
爱死你了

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧