<% if request.form("code")<>"" and session("username")<> "" then
session("code")=request.Form("code")
code1=session("code")
if left(code1,4)= "huhu" then
set rs=server.CreateObject("adodb.recordset")
sql="select * from Tab_user where user_id='"&session("username")&"' and isfen<>'yes'" '这里加了条件,isfen<>'yes'
rs.open sql,conn,1,3
if rs.eof then
response.write "无此用户,或该用户已经积分"
else
rs("fen")=rs("fen")+30
rs("isfen")="yes" '积过分的用户这个标记就为yes
rs.update
rs.close
response.write " 积分兑成功"
end if
end if
if session("code")<>"" and left(code1,4)<> "huhu" then
set rs=server.CreateObject("adodb.recordset")
sql="select * from Tab_code where code='"& session("code") &"'"
rs.open sql,conn,3,3
if rs.eof then %>
<% else
response.Redirect "code_chk.asp?table="&session("code") '到下个页面执行另一个积分程序
response.end()
end if
end if
end if
%>
问题出在这里sql="select * from Tab_user where user_id='"&session("username")&"' and isfen<>'yes'"
没有语法错误,但是却取不出数据,肯定是数据格式问题.user_id和session("username")的值是否格式相同,有没有多余的空格
可能性1:session("username")有多余的空格.
可能性2:表Tab_user的user_id类型为char时就错了(因为会出现多余的空格),要把user_id类型换成nvarchar类型的; isfen也是要换成nvarchar类型的
你要先判断为什么程序总是输出运行到那条语句.
sql="select * from Tab_user where user_id='"&session("username")&"' and isfen<>'yes'
你看这条语句中.Session("UserName")它的值是什么,你没有交待清楚.或者你用错了.
还有不要用100分来忽扰人,你这里就给了20分.
看你写的程序感觉你有浪费资源的嫌疑~~~
下面是拿你的程序改的`~~
关于那个isfen字段,如果只是做判断用的,我建议用数据字型来代替好一些吧`~个人看法,呵呵`~~
<%
if Trim(request.form("code")) <> "" and session("username") <> "" then
session("code") = Trim(request.Form("code"))
set rs = server.CreateObject("adodb.recordset")
if left(session("code"),4) = "huhu" then
rs.open "select * from Tab_user where user_id='" & session("username") & "' and isfen<>'yes'",conn,1,3
if not rs.eof then
rs("fen") = rs("fen") + 30
rs("isfen") = "yes" '积过分的用户这个标记就为yes
rs.update
response.write "积分兑成功"
else
response.write "无此用户,或该用户已经积分"
end if
rs.close
else
rs.open "select * from Tab_code where code='" & session("code") & "'",conn,1,1
if not rs.eof then
response.Redirect "code_chk.asp?table=" & session("code") '到下个页面执行另一个积分程序
else
response.write ""
end if
rs.close
end if
set rs = nothing
end if
%>
应该是这里出问题了。sql="select * from Tab_user where user_id='"&session("username")&"' and isfen<>'yes'
user_id应该是个数字,而session("username")肯定是用户名,所以二者不可能相等,我觉得你的意思应该是:sql="select * from Tab_user where username='"&session("username")&"' and isfen<>'yes'
把rs.open sql,conn,1,2看看行不行