频道直达 - 学院 - 下载 - 交易 - 截图 - 特效 - 字库 - 手册 - 排名-工具 - 繁體
设为首页
加入收藏
联系我们
建站搜索: 虚拟主机  域名注册   常用广告代码      用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发 -> ASP -> 文章内容
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 通过google 赶快来赚..
· [图文] 头像-qq头像(..
· 要10G免费网络硬盘的..
· 注册码大全三
· 注册码大全十
· [图文] 梦幻背景图片..
· [图文] 卡通动物图片..
相关文章
· 鼠标下浮动文字
· 如何混合使用XML和PHP?..
· 用ASP、VB和XML建立互联..
· 对数据库连接问题的一点..
· 创建移动Web应用程序(7)..
· .NET客户端应用程序:.N..
· ASP设计常见问题及解答精..
· 人物绘画教程 flash画人..
· ASP.NET可交互式位图窗体..
· 国家版权局亮剑网络下载..
蛙蛙推荐:asp中的多条件组合查询实现
作者:未知  来源:转载  发布时间:2005-7-25 21:15:19  发布人:acx

减小字体 增大字体

<!--
蛙蛙推荐:asp中的多条件组合查询实现
多条件组合查询在很多地方都很有用,本文用一个简单的例子来实现一种组合查询
在示例之前请确保你安装有sqlserver2000及其默认数据库NorhtWind.
代码非常直观,加上关键部分我做了注释,所以很容易理解.
需要注意的几个问题就是:
1.在字符串连接的时候注意两个需要连接的串中第二个串的开头第一个字符应该打一个空格,这样不至于两个串的首尾相连成一个单词.
2.righ的left函数取出的结构区分大小写,如果你字符串里用的是''and'',而你判断的时候用的是''AND'',程序就不会按你所想的运行了
3.注意JS中,history.go(-1),history.back(),location.reload,location.href的区别和实际应用
提醒大家平时多做一些数据结构和算法的训练,写程序基础很重要,不要小看一些字符串处理函数和正则表达式等的应用,好多大的项目正是由一些小函数组合在一起形成的.
-->
<%
If Trim(Request.Form("submit"))<>"" Then
Dim arr_wawa,rs_wawa,strconn,sql
Set rs_wawa=Server.CreateObject("ADODB.RecordSet")
strconn="Driver={sql server};server=192.168.0.110;database=northwind;uid=sa;pwd=sa;"
''获取表单变量,这里只过滤了空格,但在实际应用中为了安全,需要过滤更多的危险字符.
EmployeeID=Trim(Request.Form("EmployeeID"))
TitleOfcourtesy=Trim(Request.Form("TitleOfcourtesy"))
FirstName=Trim(Request.Form("FirstName"))
LastName=Trim(Request.Form("LastName"))
Title=Trim(Request.Form("Title"))
City=Trim(Request.Form("City"))
''以下是动态生成一个sql查询字符串
''*************************************
sql="SELECT EmployeeID,TitleOfCourtesy,FirstName,LastName,Title,City FROM Employees WHERE"
If EmployeeID<>"" Then sql=sql&" EmployeeID="&EmployeeID&" AND"
If TitleOfCourtesy<>"" Then sql=sql&" TitleOfcourtesy=''"&TitleOfCourtesy&"'' AND"
If FirstName<>"" Then sql=sql&" FirstName like ''%"&FirstName&"%'' AND"
If LastName<>"" Then sql=sql&" LastName like ''%"&LastName&"%'' AND"
If Title<>"" Then sql=sql&" Title like ''%"&Title&"%'' AND"
If City<>"" Then sql=sql&" City like ''%"&City&"%'' AND"
if right(sql,5)="WHERE" then sql=left(sql,clng(len(sql))-5) ''解决所有参数都为空的情况
if right(sql,3)="AND" then sql=left(sql,clng(len(sql))-3) ''去掉参数最后的and
sql=sql&" ORDER BY EmployeeID DESC"
''Response.Write sql ''调试语句
''**************************************
rs_wawa.Open sql,strconn,1,3
If Not(rs_wawa.Eof And Rs_wawa.Bof) Then
arr_wawa=rs_wawa.getrows() ''取出离线的记录集,取出记录集随后就可以关闭记录集,可以节省资源
Else
Response.Write("<script>alert(''没有记录'');history.go(-1);</script>")
End If
rs_wawa.close()
set rs_wawa=nothing
End if
%>
<form name="form1" method="post" action="">
<table width="500" border="1" align="center" cellspacing="1">
<tr>
<td colspan="2" align="right"><div align="center">Search Employees</div></td>
</tr>
<tr>
<td width="50%" align="right">EmployeeID:</td>
<td width="50%"><input name="EmployeeID" type="text" id="EmployeeID"></td>
</tr>
<tr>
<td width="50%" align="right">TitleOfCourtesy:</td>
<td width="50%"><select name="TitleOfCourtesy" id="TitleOfCourtesy">
<option value="">==select==</option>
<option value="Ms.">Ms.</option>
<option value="Dr.">Dr.</option>
<option value="Mrs.">Mrs.</option>
</select></td>
</tr>
<tr>
<td width="50%" align="right">FirstName:</td>
<td width="50%"><input name="FirstName" type="text" id="FirstName"></td>
</tr>
<tr>
<td width="50%" align="right">LastName:</td>
<td width="50%"><input name="LastName" type="text" id="LastName"></td>
</tr>
<tr>
<td width="50%" align="right">Title:</td>
<td width="50%"><input name="Title" type="text" id="Title"></td>
</tr>
<tr>
<td width="50%" align="right">City:</td>
<td width="50%"><input name="City" type="text" id="City"></td>
</tr>
<tr>
<td width="50%" align="right">
<input type="submit" name="Submit" value="提交"></td>
<td width="50%">
<input type="reset" name="Submit2" value="重置"></td>
</tr>
</table>
</form>
<%
If Trim(Request.Form("submit"))<>"" Then
Response.Write("<table width=''100%'' border=''0'' cellspacing=''1''>")
Dim i,j,Rows,Flds
Rows=Ubound(arr_wawa,2)
Flds=Ubound(arr_wawa,1)
If Rows>=0 Then
For i=0 To Rows
Response.Write("<tr>")
For j=0 to Flds
Response.Write"<td>"&arr_wawa(j,i)&"</td>"
Next
Response.Write("</tr>")
Next
Else
Response.Write("<tr><td>"&Rows&"</td></tr>")
End If
Response.Write("</table>")
End If
%>

[打 印]
[] [返回上一页] [收 藏]
下一篇文章:微软的常用资源列表
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
免责申明:中国建站之家(www.jz123.cn)上的所有提供下载的软件和资源
均来源于网络,为软件或程序作者提供和网友推荐收集整理而来,仅供学习
和研究使用。如有侵犯你的版权,请立即联系我们,本站将在3个工作日内删除。
粤ICP备05092265号