编程论坛's Archiver

hk_zcp 发表于 2008-6-18 16:18

WHERE条件错在哪里

我正在做一个查询下面这段代码是要求用户输入查询条件,如果满足就打开查询结果窗口。
可是现在一加where 条件就显示找不到记录,请问问题出在哪里?
<!--#include file="conn.asp"-->
<%
dim s_tsr
dim s_dh
dim s_sj
s_tsr=replace(trim(request("trs")),"'","")
s_dh=replace(trim(Request("dh")),"'","")
s_sj=replace(trim(Request("sj")),"'","")
sql="select * from tsjb where tsr='"&s_tsr&"' and dh='"&s_dh&"' and sj='"&s_sj&"'"
rs.open sql,conn,1,1
if not rs.eof then
   Session("open")=True
   Session("s_tsr")=s_tsr
   
   Response.Redirect "ts_cx_list.asp"
else
   response.write"no recordset"
end if
%>

hk_zcp 发表于 2008-6-18 16:49

高手哪去了呀

hmhz 发表于 2008-6-18 17:46

少了个 Set rs=Server.CreateObject("ADODB.Recordset")

madpbpl 发表于 2008-6-19 03:32

Response.Write sql
看看sql语句是否正确

xiongjl9555 发表于 2008-6-19 14:09

一语道破

一语点中要害,我也是初学asp编写程序,现在实在找不到错误就使用response.write XXX输出查看,确实解决了很多问题。

sain 发表于 2008-6-19 14:57

<!--#include file="conn.asp"-->
<%
dim s_tsr
dim s_dh
dim s_sj
s_tsr=replace(trim(request("trs")),"'","")
s_dh=replace(trim(Request("dh")),"'","")
s_sj=replace(trim(Request("sj")),"'","")
sql="select * from tsjb where tsr='%"&s_tsr&"%' and dh='%"&s_dh&"%' and sj='%"&s_sj&"%'"
'如果你要精确查找,那么就将"%"删掉,我这个是模糊查找!
set rs=server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
if not rs.eof then
   Session("open")=True
   Session("s_tsr")=s_tsr
   
   Response.Redirect "ts_cx_list.asp"
else
   response.write"no recordset"
end if
%>

[[it] 本帖最后由 sain 于 2008-6-19 14:59 编辑 [/it]]

hmhz 发表于 2008-6-19 16:00

楼上的,模糊查询不是你这样写的

模糊查询把“=”改成 like

tsr like '%"&s_tsr&"%' and dh like '%"&s_dh&"%' and sj like '%"&s_sj&"%'

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.