E库技术学院--您的网络技术顾问! 网站首页素材图片库设计原稿网页模板网站赏析下载中心明星图库E库论坛  
E库技术学院
设为首页
加入收藏
我要投稿
E库首页学院首页 ┊ 图形图象 ┊ 网页设计 ┊ 网络编程 ┊ 数据库 ┊ 服务器 ┊ 建站技术 ┊ 业界新闻 ┊ 作者专栏 ┊ 常用范文 ┊ 预留栏目
  当前位置:学院首页>>网络编程教程>>ASP编程教程>>ASP最简洁的多重查询的解决方案
ASP最简洁的多重查询的解决方案
[ 来源: | 作者: | 时间:2006-1-12 13:08:19 | 浏览:人次 ]
收藏到新浪ViVi收藏到365KEY收藏到我摘 ┊ 双击滚屏 单击停止
    [前言]
  我们经常会遇到多重查询问题,而长长的SQL语句往往让人丈二和尚摸不着头脑。特别是客户端部分填入查询条件时,如用普通方法将更是难上加难。
  以下巧妙地利用"where 1=1"的恒等式(事实上很多,让它值为TRUE即可)解决此问题。
  
  [正文概要]
  
  'subject 信息标题
  'company 发布信息的公司名称
  'content 发布信息的内容
  'address 公司地址
  'infomation 公司简介
  'note 相关说明
  以上值均由FORM提交,然后通过:subject=trim(Request.Form("subject"))等得到相应的值。
  
  <%
  '这个函数很关键!---------------------------
  Function sql(a,b,sqls)
  if b<>"" then '如果客户端没有提交此值,则不会产生相应的SQL语句。
  sqls=sqls & " and " & a & " like '%" & b & "%'"
  end if
  sql=sqls
  End Function
  '-----------------调用数据库
  Set conn=Server.CreateObject("ADODB.Connection")
  DBpath=Server.MapPath("/database/mydb.mdb")
  Conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=;dbq=" & DBpath
  Set rs=Server.CreateObject("ADODB.Recordset")
  sqls="select * from mytable where 1=1 "
  '以下调用上面的函数即可,可以很多个调用(理论上是任意)
  sqls=sql("subject",subject,sqls)
  sqls=sql("company",company,sqls)
  sqls=sql("content",content,sqls)
  sqls=sql("address",address,sqls)
  sqls=sql("infomation",infomation,sqls)
  sqls=sql("note",note,sqls)
  sqls=sqls & " order by id desc"
  rs.open sqls,conn,3,2
  %>
  
  [结束语]
  如果没有关键的函数Function sql(a,b,sqls),我们可以想象,需要多少判断的一个接一个的语句!
“ASP最简洁的多重查询的解决方案”教程到此结束==>||
 相关教程
☉暂无相关教程
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

投稿作者:  信息来源:  录入时间: 2006-1-12 13:08:19
投稿信箱: web#iecool.com
设为首页 - 加入收藏 - 关于我们 - 广告服务 - 版权申明 - 友情链接 - 联系方式 - 会员投稿
E库技术学院 © 2004-2005 Edu.IEcool.Com  浙ICP备05015070号