如何优化这段代码!!!

ircfan 2003-10-31 02:07:44
<%@ Page Language="VB" Debug="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<Script runat="server">
Dim startIndex As Integer
Dim SortField As String
Sub Page_Load(sender As Object, e As EventArgs)

If Not IsPostBack Then
If SortField = "" Then
SortField = "省地县码"
End If
startIndex = 0
MyDataGrid.VirtualItemCount = 200
End If

End Sub

Sub MyDataGrid_Page(sender As Object, e As DataGridPageChangedEventArgs)
startIndex = e.NewPageIndex * MyDataGrid.PageSize
MyDataGrid.CurrentPageIndex = e.NewPageIndex
'BindGrid
End Sub

sub btn_back(Sender as object, e as eventArgs)
panel1.visible=true
panel2.visible=false
End sub

Sub btn_Click(Sender as object, e as eventArgs)
panel1.visible=false
panel2.visible=true
Dim Requery1 As String = Request.Form("faren")
Dim Requery2 As String = Request.Form("shendi")
Dim Requery3 As String = Request.Form("type")
Dim Requery4 As String = Request.Form("pro1")
Dim Requery5 As String = Request.Form("pro2")
Dim Requery6 As String = Request.Form("pro3")
Dim DropList1 As String = Request.Form("DropDownList1")
Dim DropList2 As String = Request.Form("DropDownList2")
Dim DropList3 As String = Request.Form("DropDownList3")
Dim DropList4 As String = Request.Form("DropDownList4")
Dim DropList5 As String = Request.Form("DropDownList5")
'Response.write(Requery1 & "<br>" & Requery2 & "<br>" & Requery3 & "<br> "& Requery4 & "<br>" & DropList1 )
'Response.End
Dim str As String
Dim StrSelect As String
If Requery1<>"" then
StrSelect = "Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%'"
End If

If Requery2<>"" then
StrSelect ="Select Top 50 * from sc2001 Where 省地县码 like '%"& Requery2 &"%'"
End If
If Requery1<>"" And Requery2<>"" then
StrSelect ="Select top 50 * from sc2001 Where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 省地县码 like '%"& Requery2 &"%'"
End If

If Requery3<>"" then
StrSelect ="Select top 50 * from sc2001 where 行业类别 like '%"& Requery3 &"%'"
End If
If Requery1<>"" And Requery3 <>"" then
StrSelect ="Select top 50 * from sc2001 Where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 行业类别 like '%"& Requery3 &"%'"
End If
If Requery2<>"" And Requery3 <>"" Then
StrSelect ="Select top 50 * from sc2001 Where 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%'"
End If
If Requery1<>"" AND Requery2<>"" And Requery3<>""
StrSelect ="Select top 50 * from sc2001 Where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%'"
End If

If Requery4<>"" then
StrSelect ="Select top 50 * from sc2001 Where 产品1 like '%"& Requery4 &"%'"
End If
If Requery1 <>"" And Requery4<>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 产品1 like '%"& Requery4 &"%'"
End If
If Requery2 <>"" And Requery4<>"" then
StrSelect ="Select top 50 * from sc2001 where 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 产品1 like '%"& Requery4 &"%'"
End If
If Requery3 <>"" And Requery4<>"" then
StrSelect ="Select top 50 * from sc2001 where 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%'"
End If
If Requery1 <>"" And Requery2<>"" And Requery4<>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 产品1 like '%"& Requery4 &"%'"
End If
If Requery1<>"" And Requery3<>"" And Requery4<>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%'"
End If
If Requery2 <>"" And Requery3<>"" And Requery4<>"" then
StrSelect ="Select top 50 * from sc2001 where 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%'"
End If
If Requery1<>"" And Requery2<>"" And Requery3<>"" And Requery4<>"" then
StrSelect ="Select Top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%'"
End If

If Requery5 <>"" then
StrSelect ="Select top 50 * from sc2001 Where 产品2 Like '%"& Requery5 &"%'"
End If
If Requery1 <>"" And Requery5<>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 产品2 like '%"& Requery5 &"%'"
End If
If Requery1 <>"" And Requery2<>"" And Requery5 <>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 产品2 like '%"& Requery5 &"%'"
End If
If Requery1 <>"" And Requery2<>"" And Requery3<>"" And Requery5<>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品2 like '%"& Requery5 &"%'"
End If
If Requery1 <>"" And Requery2<>"" And Requery3<>"" And Requery4<>"" And Requery5<>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品2 like '%"& Requery5 &"%'"
End If
...全文
42 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
火电 2003-10-31
  • 打赏
  • 举报
回复
switch 形式能够使结构更清晰

至于优化:

主要是sql语句的优化
有必要select出来*吗
只要把你要的字段select 出来就可以了
还有
like % 字段 % 重的钱一个%如果不是很必要就不要加
这样的sql不能通过该字段进行索引查找
cchinasp 2003-10-31
  • 打赏
  • 举报
回复
我們都是用函数來完成裝的.
cchinasp 2003-10-31
  • 打赏
  • 举报
回复
用一个函数来完成每一个条件的Sql的组装,程序结构会清楚很多
RickFang 2003-10-31
  • 打赏
  • 举报
回复
第三,改成switch形式
RickFang 2003-10-31
  • 打赏
  • 举报
回复
第二个建议,注意明名规则.
RickFang 2003-10-31
  • 打赏
  • 举报
回复
我先给第一个建议,把代码写到.cs文件里,不要直接写在.aspx文件里
ircfan 2003-10-31
  • 打赏
  • 举报
回复
If Requery2 <>"" And Requery5<>"" then
StrSelect ="Select top 50 * from sc2001 where 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 产品2 like '%"& Requery5 &"%'"
End If
If Requery2 <>"" And Requery3<>"" And Requery5<>"" then
StrSelect ="Select top 50 * from sc2001 where 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品2 like '%"& Requery5 &"%'"
End If
If Requery2 <>"" And Requery4<>"" And Requery5<>"" then
StrSelect ="Select top 50 * from sc2001 where 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品2 like '%"& Requery5 &"%'"
End If
If Requery2 <>"" And Requery3<>"" And Requery4<>"" And Requery5<>"" then
StrSelect ="Select top 50 * from sc2001 where 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品2 like '%"& Requery5 &"%'"
End If
If Requery3 <>"" And Requery5<>"" then
StrSelect ="Select top 50 * from sc2001 where 行业类别 like '%"& Requery3 &"%' "& DropList2 &" 产品2 like '%"& Requery5 &"%'"
End If
If Requery3 <>"" And Requery4<>"" And Requery5<>"" then
StrSelect ="Select top 50 * from sc2001 where 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品2 like '%"& Requery5 &"%'"
End If
If Requery4 <>"" And Requery5<>"" then
StrSelect ="Select top 50 * from sc2001 where 产品1 like '%"& Requery4 &"%' "& DropList2 &" 产品2 like '%"& Requery5 &"%'"
End If

If Requery6 <>"" Then
StrSelect ="Select top 50 * from sc2001 Where 产品3 like '%"& Requery6 &"%'"
End If
If Requery1 <>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery1 <>"" And Requery2<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery1 <>"" And Requery2<>"" And Requery3<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery1 <>"" And Requery2<>"" And Requery3<>"" And Requery4<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery1 <>"" And Requery2<>"" And Requery3<>"" And Requery4<>"" And Requery5<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 法人单位 like '%"& Requery1 &"%' "& DropList1 &" 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品2 like '%"& Requery5 &"%' "& DropList5 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery2 <>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 省地县码 like '%"& Requery2 &"%' "& DropList1 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery2 <>"" And Requery3<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery2<>"" And Requery3<>"" And Requery4<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery2<>"" And Requery3<>"" And Requery4<>"" And Requery5<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 省地县码 like '%"& Requery2 &"%' "& DropList2 &" 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品2 like '%"& Requery5 &"%' "& DropList5 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery3<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery3<>"" And Requery4<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery3<>"" And Requery4<>"" And Requery5<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 行业类别 like '%"& Requery3 &"%' "& DropList3 &" 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品2 like '%"& Requery5 &"%' "& DropList5 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery4<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery4<>"" And Requery5<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 产品1 like '%"& Requery4 &"%' "& DropList4 &" 产品2 like '%"& Requery5 &"%' "& DropList5 &" 产品3 like '%"& Requery6 &"%'"
End If
If Requery5<>"" And Requery6<>"" then
StrSelect ="Select top 50 * from sc2001 where 产品2 like '%"& Requery5 &"%' "& DropList5 &" 产品3 like '%"& Requery6 &"%'"
End If

If Requery1 ="" and Requery2="" and Requery3="" and Requery4 ="" and Requery5="" and Requery6 =""then
str="<br><br><br><center>"
str+="<font size=2>您没有输入查询条件,请输入查询条件!<a href='javascript:history.go(-1)'>按此返回</a></font>"
str+="</center>"
Response.Write(str)
Response.End
End If
Dim MySqlConnection As SqlConnection
Dim Ds As DataSet
Dim myCommand As SqlDataAdapter
mySqlConnection = New SqlConnection(ConfigurationSettings.AppSettings().Item("ConnectionString"))
MySqlConnection.Open()
myCommand = new SqlDataAdapter(StrSelect,mySqlConnection)
Ds = New DataSet()
myCommand.Fill(Ds,"sc2001")
myDataGrid.DataSource = Ds.Tables("sc2001").DefaultView
MyDataGrid.DataBind()
End Sub
巨长呀。。谁来优化一下!
Domain4.3(明小子)10.10.10更新版主要更新内容如下: 1.驱除部分死连接,恢复部分官方连接 2.改变默认显示页面为本人BLOG 3.修正程序在检测时出错的BUG 4.修正程序在部分系统中无法启动的BUG 5.加了一个功能模块,但还不成熟,隐藏了,高手的话可以用OD调出来!>!< 6.修复前段时间一些朋友反映的错误和程序宏 7.增加四款SKN皮肤! 10.10.11紧急更新: 1.修正新版程序在部分系统中启动后直接导致系统蓝屏的BUG 2.修正域名查询的几个错误 3.修正程序批量检测查询到域名的时候无反映的BUG! Domain4.2(明小子)10.01.16更新版主要更新内容如下: 1.删除所有无关数据 2.优化急速代码 3.改变启动线程 4.增加SQL数据批量导出功能 5.加入几个优化进程模块,非后门.后台运行. 6.锁定主程序栏目宽和高,不在恢复 7.删除“辅助工具”模块中全部代码 8.修正XP SP3 程序下兼容问题 9.重新改写域名查询旁站线程 程序于2010年01月16号调试完毕! 提别提示:第4个功能只能运行在完整版的windows XP 平台系统中,其他平台无法运行,如果出现恢复按钮并不能保存请自行调试与本程序无关.谢谢合作! 宝宝的话:有朋友们的鼓励才会有这个版本的发布,这当是我送给大家2010年里的第一个礼物吧。 Domain4.1(明小子)0901更新版主要更新内容如下: 1.增加新系统兼容模块,全面兼容2000-2008各系统 (部分精简版系统除外) 2.优化网站打开速度,删减部分无用内核信息,全面加快程序启动速度. 3.基于09.05.20号内核提升,改变搜查循环的一个死BUG! 4.删除在0520上增加的一个补针函数,并使用新的函数替换.保证不报错. 5.不在兼容xpsp3,因为没时间去修正这个错误。所以可能部分SP3系统运行不起来本程序 6.增加部分程序扩充空格代码,为下个版本更新做好铺垫 小提示:保留旧的IP反查连接系统,原因没有找到新的和稳定的IP反差服务器!如果有能提供的请与本人联系!谢谢合作 Domain4.1(明小子)0520更新版主要更新内容如下: 1.基于08.10.01号内核提升,修正一次关键错误。 2.替换原程序自带的那个小马,该为最新美化免杀版的小马! 3.添加一个服务器挂钩程序(非插件),使修改后的新内核兼容vista系统。 4.程序数据库默认名为:SetData.mdb 请大家使用3.5版本以上的MDB数据.其他低版本程序可能不兼容! 5.删除后台下载统计代码(以前没发现,本人也是从网站上面下的软件,排除作者自添加行为) 6.加了一个补针,针对sql注入功能中的一个小BUG。 7.删除了很多没有用的代码,最大限度的优化程序启动速度。 8.更新部分在xpsp3下出错的几个小BUG(小问题小解决,这个错误仅针对部分优化过度的XPSP3系统)。 提记:很多朋友说需要修改下程序IP域名查询功能,这里说明下.由于内核找不到关键句柄导致无法更新,下个版本在仔细看看! Domain4.0(明小子)1001更新版主要更新内容如下: 1.更新部分过度优化过的系统不兼容问题。 2.修改内存识别函数,使其降低软件在使用期间所占用的内存大小。 3.基于08.09.15号内核提升,修正因修改软件所出现的几个导致软件崩溃的几个BUG。 4.换了软件自带的那个垃圾皮肤。加入兼容美化皮肤!更美观! 5.兼容前版本数据库支持功能 6.去掉了没有用的PHP入侵选项和几处小BUG...... 转贴是一种美德!分享也是一种快乐,工具仅做辅助作用请勿用在非法用途上! 程序自带本BLOG连接,启动比较慢!不喜勿用!谢谢合作!

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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