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

yms123:多谢,但我还不明白,请再讲介一下,为啥不要加"

sylknb 发布于 2009-12-17 14:13, 484 次点击
yms123:
多谢,但我还不明白,sqlstr是在ASP里定义的把data中的单引号变成双引号的自定义函数,它与SQL语句有什么关系?请详细指教。多谢了。


dim userid
  '将单引号改为双引号
   function sqlstr(data)
     sqlstr="'" & Replace(data,"'","''") & "'"
   end function




ssql="update users set name=" & sqlstr(name) & ",address=" & sqlstr(address)
   ssql=ssql & ",idnumber=" & sqlstr(idnumber) & ",age=" & sqlstr(age)
   ssql=ssql & ",zipcode=" & sqlstr(zipcode) & ",phone=" & sqlstr(phone)
   ssql=ssql & ",email=" & sqlstr(email)
   ssql=ssql & " where userid=" & sqlstr(userid)这里为什么没有"
一般sql语句ssql="update users set name='  ' where xxxxx "
为什么它没有"



sqlstr是在ASP里定义的函数,而且处于那句话的最后所以可以不用双引号。

[ 本帖最后由 sylknb 于 2009-12-17 14:14 编辑 ]
3 回复
#2
aspic2009-12-17 14:33
因为最后一个&相当于连接一个asp变量 变量是不用加引号的
当然你也可以写成
程序代码:
ssql="update users set name=" & sqlstr(name) & ",address=" & sqlstr(address)
   ssql=ssql & ",idnumber=" & sqlstr(idnumber) & ",age=" & sqlstr(age)
   ssql=ssql & ",zipcode=" & sqlstr(zipcode) & ",phone=" & sqlstr(phone)
   ssql=ssql & ",email=" & sqlstr(email)
   ssql=ssql & " where userid=" & sqlstr(userid)&""
#3
aspic2009-12-17 14:36
但如果连接的最后一个东西不是数字类型的就得用如下格式
ssql="update users set **** where username='"&sqlstr(username)&"'"         '这时候肯定要加引号了
#4
sylknb2009-12-17 14:56
aspic:
讲的太好了,一句道破玄计。1、按你的  ssql=ssql & " where userid=" & sqlstr(userid)&"" 显示的是  userid='lkn'
 2、按你的  ssql=ssql & " where userid=’" & sqlstr(userid)&"‘" 显示的是  userid='’lkn'’

1