vb里用SQL的多条件查询,请教

有七个控件,分别对应SQL表里七个字段,想查询其中不为空的若干个,在VB里,SQL语句该怎么写呢请教大侠们... 有七个控件,分别对应SQL表里七个字段,想查询其中不为空的若干个,在VB里,SQL语句该怎么写呢
请教大侠们
展开
 我来答
百度网友b91985e
2015-07-13 · TA获得超过201个赞
知道小有建树答主
回答量:170
采纳率:86%
帮助的人:40.2万
展开全部

什么意思   7各控件存的是字段名称?  然后要求查询出这7各字段均不为空的所有数据?

假设字段名称存在Text1.Text,Text2.Text,Text3.Text,Text4.Text,Text5.Text,Text6.Text,Text7.Text

Dim sqlStr as String
sqlStr = "Select * from myTable where " & Text1.Text & " is not null and " & _
sqlStr = sqlStr & Text2.Text & " is not null and " & _
sqlStr = sqlStr & Text3.Text & " is not null and " & _
sqlStr = sqlStr & Text4.Text & " is not null and " & _
sqlStr = sqlStr & Text5.Text & " is not null and " & _
sqlStr = sqlStr & Text6.Text & " is not null and " & _
sqlStr = sqlStr & Text7.Text & " is not null"
追问

这七个控件,分别绑定一个SQL表的七个字段,查询的时候可能只会选择一部分,所以想怎样来实现随机查询不为空的那几个字段,用什么方法好呢,

追答
Dim sqlStr as String
sqlStr = "Select * from myTable where 1=1 "
If Text1.Text<>"" Then
    sqlStr = sqlStr & "and " & Text1.Text & " is not null"
End If
If Text2.Text<>"" Then
    sqlStr = sqlStr & "and " & Text2.Text & " is not null"
End If
If Text1.Text<>"" Then
    sqlStr = sqlStr & "and " & Text3.Text & " is not null"
End If
If Text1.Text<>"" Then
    sqlStr = sqlStr & "and " & Text4.Text & " is not null"
End If
If Text1.Text<>"" Then
    sqlStr = sqlStr & "and " & Text5.Text & " is not null"
End If
If Text1.Text<>"" Then
    sqlStr = sqlStr & "and " & Text6.Text & " is not null"
End If
If Text1.Text<>"" Then
    sqlStr = sqlStr & "and " & Text7.Text & " is not null"
End If

 如果同时判断不为null  也不为“”   每个IF块里的语句加上“”的判断

If Text1.Text<>"" Then
    sqlStr = sqlStr & "and " & Text1.Text & " is not null And " & Text1.Text &"<>''"
End If
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式