文章·资料 电脑软件 手机应用 网站源码




    本 站 搜 索
   推 荐 文 章        More...
华硕易电脑(ASUS Eee PC 1025C..
先来段开场白:为了外出携带方便,到淘..
Acronis True Image 使用说明
  一款可以在Windows下使用全部功..
Norton Ghost 使用详解
一、分区备份   使用Ghost进行系..
    文 章 阅 读 排 行
手机视频监控 APP 关闭广告:萤..
一、萤石云视频:我的,设置,隐私设置,..
常见数据库介绍与对比(SQL Serv..
常见数据库的对比分析,涵盖你提到的 A..
Windows 系统修改默认文件类型..
Windows 系统文件类型图标,通常由默..
Windows 系统安装或备份时 ISO,..
【ISO 文件】 ISO 文件其实就是光..
Microsoft SQL Server 2000 Per..
  对于第一次安装 Microsoft SQL Se..
颜色与英文单词对照
颜色与英文单词对照 red green bl..
PakePlus 构建 APP 需要 Github..
PakePlus 是一个基于 Rust Tauri 的..
主页真的越Google、越简洁越好吗
  如果你在11月10日早上打开雅虎中..
网络工程师必懂的专业术语
路由器问题:1、什么时候使用多路由协..
为啥现在的电脑都不能安装 Wind..
说实话,这几年如果你尝试在新电脑..
 文 章 信 息
最简洁的多重查询的解决方案
评论()〗〖留言〗〖收藏
〖文章分类:电脑·手机·网络 / 网站设计·开发·优化〗〖阅读选项
我们经常会遇到多重查询问题,而长长的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),我们可以想象,需要多少判断的一个接一个的语句!

文章作者:未知  更新日期:2006-05-13
〖文章浏览:〗〖发送文章〗〖打印文章