注册 登录
编程论坛 ASP技术论坛

查询价格显示问题!

yun0705 发布于 2008-03-15 10:26, 762 次点击
我在查询的时候出现一个问题,
<%
Dim rs
Dim rs_numRows

Set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = MM_wj_STRING
rs.Source = "SELECT *  FROM fyscha  WHERE fys_qy='" + Replace(rs__MMIA, "'", "''") + "' OR fys_lx='" + Replace(rs__MMIB, "'", "''") + "' OR fys_f='" + Replace(rs__MMIC, "'", "''") + "' OR fys_t='" + Replace(rs__MMID, "'", "''") + "' OR fys_mc LIKE '%" + Replace(rs__MMIE, "'", "''") + "%' OR fys_shj <'" + Replace(rs__MMII, "'", "''") + "'  ORDER BY fys_sj DESC"
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.Open()

rs_numRows = 0
%>
其中查询fys_shj价格的时候,明明是 <该数值,为什么选小于20的时候会出现170?
我用的是ACCESS数据库,其中fys_shj是文本
4 回复
#2
madpbpl2008-03-15 10:56
文本比较大小不是按数字大小比较的,是按二进制比较的。
比如说100<20 (文本比较)
#3
yun07052008-03-15 13:27
那请问,我应该怎样才能显示出来?我之前用的是Request.QueryString,如果将它改为数字型,那用Request.QueryString显示不了啊!!!说什么数据类型不匹配啊!
#4
madpbpl2008-03-15 15:07
改为数字类型后,要把''去掉的

fys_shj <'" + Replace(rs__MMII, "'", "''") + "'
改成
fys_shj <" + Replace(rs__MMII, "'", "''") + "
#5
yun07052008-03-15 15:09
多谢4楼!问题完全正解!
1