[VB.NET]这样的sql应该怎么写?兄弟们帮帮忙
来源:互联网 发布:网络机顶盒推荐 编辑:程序博客网 时间:2024/04/25 16:02
<script type="text/javascript"><!--google_ad_client = "pub-8333940862668978";/* 728x90, 创建于 08-11-30 */google_ad_slot = "4485230109";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
这样的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,tb3,tb4没有值,那么你可以传入的参数都是 % ~
这样做是有缺点的。就是sql执行效率的问题。如果不顾及的话,可以这样做。
__________________________________________________________________________
简单的技巧:
select * from tablename where 1=1
其他的条件就都可以用 AND 拼接了.
__________________________________________________________________________
“where 1=1 ” 这样的代码毫无意义,垃圾代码就是指这种.
__________________________________________________________________________
楼上的没啥经验吧...
用个1=1,能省掉多少判断。。。比你那么多判断简单有效的多。。。
__________________________________________________________________________
编码风格不同,呵呵~~我周围的人都不喜欢这样写,包括技术总监.
没意义的代码看着烦.
__________________________________________________________________________
这样的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,tb3,tb4没有值,那么你可以传入的参数都是 % ~
这样做是有缺点的。就是sql执行效率的问题。如果不顾及的话,可以这样做。
__________________________________________________________________________
简单的技巧:
select * from tablename where 1=1
其他的条件就都可以用 AND 拼接了.
__________________________________________________________________________
“where 1=1 ” 这样的代码毫无意义,垃圾代码就是指这种.
__________________________________________________________________________
楼上的没啥经验吧...
用个1=1,能省掉多少判断。。。比你那么多判断简单有效的多。。。
__________________________________________________________________________
编码风格不同,呵呵~~我周围的人都不喜欢这样写,包括技术总监.
没意义的代码看着烦.
__________________________________________________________________________
- [VB.NET]这样的sql应该怎么写?兄弟们帮帮忙
- '在vb.net中三位数倒置的程序应该怎么写
- 如下SQL应该怎么写?
- [VB.NET]带密码的连接字符串怎么写?
- [VB.NET]无确定,关闭按钮的对话框怎么写?
- [VB.NET]请问连接access的代码怎么写?
- 问群里的兄弟说这样写是没问题的
- [VB.NET]正则表达式可以先在VB.net 的FORM中吗?怎么写?
- [VB.NET]VB6写的DLL在vb.net中怎么调用啊 谢谢
- 简历应该这样写
- 这样的数据窗怎么实现,各位老大帮帮忙忙呀!!!!
- [VB.NET]我这样写有什么错误?
- 要查询的某表的某列,这样的pl/sql怎么写啊
- [VB.NET]這個SQL怎么寫?(拆分)
- [VB.NET]如何使DataGridView中显示的内容不出现点点点(高手们帮帮忙,谢谢先)
- [VB.NET]哪个大虾教我怎么实现登陆是输入验证码,用VB.NET写的
- 帮帮忙,写个简单的英汉互译的vb程序!很急的!
- VB.net写的调色板
- 网友发表的资源
- [VB.NET]网络采集工具的页面内容下载在进程中没错,而在线程的就不行了?
- [VB.NET]关于datatable在datagrade中显示的格式问题(在线)
- [VB.NET]名称
- 算法设计方法(二)——分而治之
- [VB.NET]这样的sql应该怎么写?兄弟们帮帮忙
- [VB.NET]VB.NET创建外部excel对象
- 网页代码常用小技巧(转自lg_linID:lg_lin)
- [VB.NET]用VB.NET来访问和修改注册表??
- [VB.NET]求一个正则表达式处理一下html
- java字符编码转换
- [VB.NET]问一个键盘的模拟问题,如何做一个画面键盘来代替微软的软键盘,有点难度呀!!!
- 分手
- [VB.NET]如何使DataGridView中显示的内容不出现点点点(高手们帮帮忙,谢谢先)