[VB.NET]这样的sql应该怎么写?兄弟们帮帮忙
发布时间:2020-12-16 23:38:25 所属栏目:大数据 来源:网络整理
导读:这样的sql应该怎么写?兄弟们帮帮忙 表里面有NAME,PRODUCT,PRICE,DATE 4个字段,在操作界面上也相应的画出4个TEXTBOX,可供填入检索条件,如果只写其中一个就按一个条件查询,如果写两个条件就按两个条件查询,如果是3个就按3个条件查询,如果是全部就按全部条件查
这样的sql应该怎么写?兄弟们帮帮忙 表里面有NAME,PRODUCT,PRICE,DATE 4个字段,在操作界面上也相应的画出4个TEXTBOX,可供填入检索条件,如果只写其中一个就按一个条件查询,如果写两个条件就按两个条件查询,如果是3个就按3个条件查询,如果是全部就按全部条件查询.这样的程序片断应该怎么写?????? __________________________________________________________________________ string strSql= select * from tb ; string filter=string.Empty; if(txtName.Text!=string.Empty) { filter= where NAME like % +txtName.Text+ % ; } if(txtPRODUCT.Text!=string.Empty) { if(filter.Length> 0) { filter+= and ; } filter+= PRODUCT like % +txtPRODUCT.Text+ % ; } if(txtPRICE.Text!=string.Empty) { if(filter.Length> 0) { filter+= and ; } filter+= PRICE like % +txtPRICE.Text+ % ; } .... .... strSql=filter==string.Empty?strSql:strSql+filter; //执行strSql返回结果,剩下略 __________________________________________________________________________ 给你一部分吧 Dim s_SQL As String s_SQL = SELECT * FROM zzz_View_Gzcx WHERE 1=1 If txtYgbh.Text.Trim.Length <> 0 Then s_SQL = s_SQL & AND 员工编号 like % & txtYgbh.Text.Trim & % End If If txtYgxm.Text.Trim.Length <> 0 Then s_SQL = s_SQL & AND 员工姓名 like % & txtYgxm.Text.Trim & % End If __________________________________________________________________________ 对于这个,我一般都是采用比较笨的方法; 先确定textbox1=name textbox2=PRODUCT textbox3=PRICE textbox4=date sql中的like 如果你的textbox1中有数据,而tb2,tb3,tb4都没有, 那么就应该是 select * from tablename where name like @tb1 and PRODUCT like @tb2 and PRICE like @tb3 and date like @tb4 那么当前tb1是有值的,那么你的name like tb1.value 而tb2,tb4没有值,那么你可以传入的参数都是 % ~ 这样做是有缺点的。就是sql执行效率的问题。如果不顾及的话,可以这样做。 __________________________________________________________________________ 简单的技巧: select * from tablename where 1=1 其他的条件就都可以用 AND 拼接了. __________________________________________________________________________ “where 1=1 ” 这样的代码毫无意义,垃圾代码就是指这种. __________________________________________________________________________ 楼上的没啥经验吧... 用个1=1,能省掉多少判断。。。比你那么多判断简单有效的多。。。 __________________________________________________________________________ 编码风格不同,呵呵~~我周围的人都不喜欢这样写,包括技术总监. 没意义的代码看着烦. __________________________________________________________________________ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |