设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 97|回复: 7
打印 上一主题 下一主题

请教,怎么控制数据表中的数字字段的最大值?

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-8 02:44:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<%If request("submitok")="zj" then
conn.execute"update main set grade=grade+1 where username='"&request.form("username")&"'"
其中的grade,我想限定一个最大值,不想在每次操作的时候都增长,比如最大值定为5,那么我该怎么加语句呢?
如果前面没有打开过main数据库,是不是还set...open...main啊?
我使用的 if request("grade")<5 then 放前面不管用,还是不受 5 限制。
请大家帮忙,谢谢
2#
发表于 2010-1-8 02:45:00 | 只看该作者
request("grade") 是 GET 方式的表单值,并非 rs1.Open... 得到的值
应改成 rs1("grade")
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-8 02:45:02 | 只看该作者
以下是引用愿望在2007-7-29 17:15:47的发言:
request("grade") 是 GET 方式的表单值,并非 rs1.Open... 得到的值
应改成 rs1("grade")
这样好像不行

后来我这样写了

conn.execute"update love_main set grade=grade+1 where username='"&request.form("username")&"' and grade<5"
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-8 02:45:05 | 只看该作者
以下是引用yms123在2007-7-29 11:03:11的发言:

可以前面读取一下进行判断
或者加个函数比如
<%If request("submitok")="zj" then
Function IsMaxGrade(UsName)
Dim rsIMG
Set rsIMG=conn.Execute("select grade from [main] where username='"&UsName&"'")
IF rsIMG("grade")>5 Then
IsMaxGrade=True
Else
IsMaxGrade=False
End IF
End Function
IF IsMaxGrade(request.form("username"))=False Then
conn.Execute"update main set grade=grade+1 where username='"&request.form("username")&"'"
End IF

有点复杂哦,好的,我试试看。不过请问,我这么写为什么不对呢?
<%If request("submitok")="zj" Then
set rs1=Server.CreateObject("ADODB.recordset")
rs1.open "select grade from love_main where username='"&username&"'",conn,1,1
if request("grade")<5 then
conn.execute"update love_main set grade=grade+1 where username='"&request.form("username")&"'"
else
conn.execute"update love_main set grade='5' where username='"&request.form("username")&"'"
end if
回复 支持 反对

使用道具 举报

5#
发表于 2010-1-8 02:45:08 | 只看该作者
现在还有什么问题吗?
回复 支持 反对

使用道具 举报

6#
发表于 2010-1-8 02:45:11 | 只看该作者
grade是数字类型吗
这样
conn.execute"update love_main set grade=5 where username='"&request.form("username")&"'"
回复 支持 反对

使用道具 举报

7#
发表于 2010-1-8 02:45:14 | 只看该作者
可以前面读取一下进行判断
或者加个函数比如
<%If request("submitok")="zj" then
Function IsMaxGrade(UsName)
Dim rsIMG
Set rsIMG=conn.Execute("select grade from [main] where username='"&UsName&"'")
IF rsIMG("grade")>5 Then
IsMaxGrade=True
Else
IsMaxGrade=False
End IF
End Function
IF IsMaxGrade(request.form("username"))=False Then
conn.Execute"update main set grade=grade+1 where username='"&request.form("username")&"'"
End IF
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 20:42 , Processed in 0.077397 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表