请问是什么原因呢?

leizhiyong 2008-03-28 03:15:35
我的代码如下:
<head>
<body>
.......
Set cnnFqc=Server.CreateObject ("ADODB.Connection")
set rstfqc2=server.createobject ("adodb.recordset")
strconnection="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("test_db.mdb") &";Persist Security Info=true"
cnnFqc.Open strconnection
strSQL="SELECT 数量 FROM 借书记录表 where 人名 = '" & Request.Form ("T4") & "' order by 日期"
rstfqc2.open strsql, cnnfqc,1,3
if rstfqc2.eof then
Response.Write ("没有此人借书纪录!")
else
dim sumbook
sumbook=0
do while not rstfqc2.eof '统计此人共借此书数
sumbook=sumbook+rstfqc2("数量")
rstfqc2.movenext
loop
Response.Write ("<br>人名:"&Request.Form ("T4")&"</br>")
Response.Write ("<br>借书库数量:"&sumbook&"</br>")
Response.Write ("<br>本次输入还书数量:"&Request.Form ("T3")&"</br>")

if Request.Form("T3")>sumbook then
Response.Write ("此人没有借这么多的书!")
else
Response.Write ("已经还了"&Request.Form ("T3")&"本书")
end if
set cnnfqc=nothing
Set rstFqc2=NOTHING
end if
</body>

if Request.Form("T3")>sumbook then 这句话总是成立,例如我输入1,本来数据库里数量为100,也成立,还是显示("此人没有借这么多的书!")
但用 Response.Write ("<br>人名:"&Request.Form ("T4")&"</br>")
Response.Write ("<br>借书库数量:"&sumbook&"</br>")
Response.Write ("<br>本次输入还书数量:"&Request.Form ("T3")&"</br>")可以得到数据库数量是100,输入还书数量是1,它总是认识1>100

所以很奇怪,请问是什么原因?给分的哦
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
leizhiyong 2008-03-29
  • 打赏
  • 举报
回复
可以了,谢谢
Request.Form("T3")+0>sumbook也可以,Request.Form("T3")自动转换为数字型
小逗狗 2008-03-28
  • 打赏
  • 举报
回复
同意楼上的
改成:CInt(Request.Form("T3"))>sumbook
myvicy 2008-03-28
  • 打赏
  • 举报
回复
if cint(Request.Form("T3"))>sumbook then
No_Data_Found 2008-03-28
  • 打赏
  • 举报
回复
Request.Form("T3")>sumbook

可能是数据类型的原因 都转成数字再比较

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧