注册 登录
编程论坛 VB.NET论坛

VB.NET2005实现多条件查询

taotie_321 发布于 2008-08-28 15:32, 3446 次点击
我在新建项目W1,窗体form1,在form1中加入DataGridView1并与access数据库db1中的表连接。窗体中有3个textbox用与输入姓名,性别,年龄。一个按钮Button1(查找)。我想实现多条件查询,在三个textbox中输入查询条件(一个或多个条件),点击按钮后在新的DataGridView2中显示。
10 回复
#2
machong81832008-08-28 15:40
呵呵,看来没用过
#3
a3619284262008-08-28 16:01
数组+循环
具体的代码我现在也没有
跟你说一下思路,你自己再看看吧
窗体中有3个textbox,所以先设一个数组a[i],将3个textbox.text付给数组,当然了,i去0.1.2
你在查询时要用到一个查询语句吧,用语句的查询条件设为s,s的初始值为空,然后用一个for循环,循环i从0到2,循环体里用一个if判断a[i]是否为空,如果不为空,则s=s+a[i]
。。。。
好像大体就是这样,你先试试吧
#4
wasdyjyj2008-08-28 16:11
select * from 表名 where 姓名 like '%textbox1.text%' and 性别 like '%textbox2.text%' and
年龄 like '%textbox3.text%'
#5
a3619284262008-08-28 16:26
楼上
那样好像不行吧,如果有一个是空的,那就搜不出结果了
#6
bygg2008-08-28 21:40
dim sqlstr as string
sqlstr = "select * from table where 1=1 "

if textbox1.text <> "" then
  sqlstr += " and col1=" & textbox1.text
end if
if textbox2.text <> "" then
  sqlstr += " and col2=" & textbox2.text
end if
if textbox3.text <> "" then
  sqlstr += " and col3=" & textbox3.text
end if
.....
#7
ynyxsky2008-08-29 08:51
5楼的,4楼那样是可以实现的,4楼的是模糊查询(只是差了对""),如果哪个文本框里为空,那就是那一个条件全部查询出来。
#8
taotie_3212008-08-29 17:59
谢谢大家!我想问一下bygg,像你那样写在Button1里就可以吗?查询出的内容直接出现在DataGridView2中吗?
#9
taotie_3212008-09-02 09:45
问题解决了,不过使用另一种方法。谢谢
#10
ggvboy2008-11-07 16:12
select * from 表名 where 姓名 like '%textbox1.text%' or 性别 like '%textbox2.text%' or
年龄 like '%textbox3.text%'

我的天呐,用或不就玩了吗
#11
lcx04012008-11-09 12:40
不需要判断一下textbox里面是不是空的吗?用if()嵌套吧
1