VB.NET中这样多条件组合查询如何实现

snskip 2008-12-16 12:44:19
小弟是刚刚才开始学习VB.NET的.有点菜.希望哪个高人指点一下.一点思路都没有.我的目的就是第一个combobox里面是读取数据库表里的字段名,第二个combobox里面是LIKE和=,然后在后边的TEXTBOX里面输入查询的值.在第一个值的时候AND和OR是灰色的,只有添加第二个查询值的时候才可以使用.然后点添加.就把上边的查询内容添加的下边的TEXTBOX里面来.大家看如何写.我都想了好多天了.没头绪啊.因为太菜了.以前在DELPHI里边可以实现的.但是换到.NET下就不知道该怎么写了.谢谢个位
最好有个例子.VB或者VB.NET的都可以

...全文
298 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
snskip 2008-12-16
  • 打赏
  • 举报
回复
DELPHI里面实现过,但是现在我在用.NET做.总要尝试新东西吗.所以来问下哈,个人感觉还是比较实用的.在.NET里面做出来了以后就可以通用了撒.我取字段值是没问题的.但是我想取的是字段.我的代码是
Private Sub SY010CXfrm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.ComboBox1.Items.Clear()
Dim i As Integer
Dim sqlstr As String
Dim ds As New DataSet
Dim dv As New DataView
sqlstr = "select * from 用户表"
ds = GetDataFromDB(sqlstr)
Me.ComboBox1.DataSource = ds.Tables(i)
End Sub
snskip 2008-12-16
  • 打赏
  • 举报
回复
DELPHI里面实现过,但是现在我在用.NET做.总要尝试新东西吗.所以来问下哈,个人感觉还是比较实用的.在.NET里面做出来了以后就可以通用了撒.我取字段值是没问题的.但是我想取的是字段.我的代码是
Private Sub SY010CXfrm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.ComboBox1.Items.Clear()
Dim i As Integer
Dim sqlstr As String
Dim ds As New DataSet
Dim dv As New DataView
sqlstr = "select * from 用户表"
ds = GetDataFromDB(sqlstr)
Me.ComboBox1.DataSource = ds.Tables(i)
End Sub
snskip 2008-12-16
  • 打赏
  • 举报
回复
DELPHI里面实现过,但是现在我在用.NET做.总要尝试新东西吗.所以来问下哈,个人感觉还是比较实用的.在.NET里面做出来了以后就可以通用了撒.我取字段值是没问题的.但是我想取的是字段.我的代码是
Private Sub SY010CXfrm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.ComboBox1.Items.Clear()
Dim i As Integer
Dim sqlstr As String
Dim ds As New DataSet
Dim dv As New DataView
sqlstr = "select * from 用户表"
ds = GetDataFromDB(sqlstr)
Me.ComboBox1.DataSource = ds.Tables(i)
End Sub
bw555 2008-12-16
  • 打赏
  • 举报
回复
用其他语言实现过,.net的没有,呵呵,
就是麻烦点,没啥难度的
想飞的狼 2008-12-16
  • 打赏
  • 举报
回复
给你一个自己写过的代码,希望对你有帮助
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
a = "a"
If Button1.Text = "范围" Then
Dim objfw As New fw

'objfw.MdiParent = Form1
objfw.ShowDialog()
Dim strFilter As String = objfw.TextBox1.Text

view = datacp1.Tables("ss").DefaultView


Dim strfilter1 As String = objfw.TextBox3.Text
Dim strfilter3 As String = objfw.an

Me.CheckBox1.Enabled = True

If objfw.str2 = " between " Then
If objfw.str2 = "between" And (objfw.strr = "添加日期" Or objfw.strr = "更新日期") Then



view.RowFilter = "Convert(" & objfw.strr & ", System.String)" & ">=" & "'" & strFilter & "'" And view.RowFilter = "Convert(" & objfw.strr & ", System.String)" & "<=" & "'" & strfilter1 & "'"

Else
view.RowFilter = "Convert(" & objfw.strr & ", System.String)" & ">=" & "'" & strFilter & "'" & " and " & objfw.strr & "<='" & strfilter1 & "'"

End If


Else

' view.RowFilter = "Convert(" & objfw.strr & ", System.String)" & ">=" & "'" & strFilter & "'" & " and " & objfw.strr & "<='" & strfilter1 & "'"


view.RowFilter = objfw.TextBox2.Text

lb()


End If

Else

view = datacp1.Tables("ss").DefaultView

view.RowFilter = "产品编号 <> '0'"
DataGridView1.DataSource = view
Button1.Text = "范围"
End If

End Sub
想飞的狼 2008-12-16
  • 打赏
  • 举报
回复
恐怕没有那么正好的例 子哦,不过看样子不是很麻烦,把表FILL到DATASET中然后建立个视图VIEW用RowFilter过滤就可以了

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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