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

不允许使用 'true'

zdloveday 发布于 2010-01-09 17:50, 720 次点击
ip=request.servervariables("remote_addr")
sys=request.servervariables("http_user_agent")

if rs.eof then
  sqlcmd="insert into loginLog (ip,sys,userName,password,is_success)values('"&ip&"','"&sys&"','"&userName&"','"&password&"',[false])"
  conn.execute sqlcmd
  conn.close
  set conn=nothing
  response.redirect "login.asp?message=对不起,您输入的用户名或密码有误"
else
 sqlcmd="insert into loginLog (ip,sys,userName,password,is_success)values('"&ip&"','"&sys&"','"&userName&"','"&password&"',true)"   <错误处>
  conn.execute sqlcmd

  上面 执行的 错误代码 是
[Microsoft][ODBC SQL Server Driver][SQL Server]在此上下文中不允许使用 'true'。此处只允许使用常量、表达式或变量。不允许使用列名。

10 回复
#2
zdloveday2010-01-09 17:51
is_success  是 bit 类型
#3
aspic2010-01-10 08:42
已经有明显的提示了
此处只允许使用常量、表达式或变量。不允许使用列名
#4
aspic2010-01-10 08:45
SQL Server是不允许插入True或者False这样的字的,即便是bit型的字段,也需要用0或者1插入。
#5
zdloveday2010-01-10 08:51
哦 ,缺少了  
dim 定义  is_success 字段
而不是直接 用 ‘true’
是这样的吧
#6
aspic2010-01-10 08:54
SQL Server是不允许插入True或者False这样的字的,即便是bit型的字段,也需要用0或者1插入。
#7
aspic2010-01-10 08:54
0---->false
1---->true
#8
zdloveday2010-01-10 08:54
哦  明白  了  谢谢了
#9
aspic2010-01-10 08:55
ip=request.servervariables("remote_addr")
sys=request.servervariables("http_user_agent")

if rs.eof then
  sqlcmd="insert into loginLog (ip,sys,userName,password,is_success)values('"&ip&"','"&sys&"','"&userName&"','"&password&"',[false])"这里你都知道要转义了
  conn.execute sqlcmd
  conn.close
  set conn=nothing
  response.redirect "login.asp?message=对不起,您输入的用户名或密码有误"
else
sqlcmd="insert into loginLog (ip,sys,userName,password,is_success)values('"&ip&"','"&sys&"','"&userName&"','"&password&"',true)"   <错误处>
  conn.execute sqlcmd
#10
aspic2010-01-10 08:56
用[true]也可以吧
#11
aspic2010-01-10 08:58
最好用0、1
一般涉及到布尔类型我直接用0、1
1是0否
1