请教此语句用法。
'---------------------------
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select * from [TB_User] where StrUserID='"&UserName&"'",conn
if Not rs.Eof then
rs.close
msg("该用户名已经被注册,请使用其他用户名)
response.end
else
conn.execute "insert into TB_User (StrUserID,password,Status,GMrank,name,email,postcode,regtime,reg_ip,sec_primary,sec_content) values
('"&UserName&"','"&md5pass&"',1,0,'"&UserName&"','"&email&"','"&UserName&"',getdate(),'"®ip&"',3,3)"
rs.close
set rs = nothing
set rs1 = nothing
msg "恭喜您,注册成功"
End If
else
msg3("你的Ip信息已经被记录,请不要非法提交")
end if
此语句注册帐号没有问题。
我想再插入一个语句:
conn.execute "insert into SK_Silk (JID,silk_own,silk_gift,silk_point) values ('"&JID&"','99999','99999','99999')"
这是插入另一个表的,关联字段是JID,我怎么能从上面注册语句里提取JID变量?我用了JID = cint(rs("JID")),但是要么取不到值(原因主要是没注册的时候取的值)。要么出现服务器内部错误。
我怎么能从注册成功后取刚刚注册的帐号的JID值为变量,然后再加上第二个插入语句?
------解决方案--------------------
这是执行方法的问题,直接使用Conn.ExeCute方法 insert是不会有返回值的,因此,如果你要返回插入的ID的话,通常有两种方式
一。使用Recordset模式插入
VBScript code
Dim Rs,NewID
Set Rs=Server.CreateObject(""ADODB.Recordset")
Rs.Open "Select ID,XX From Tab Where ID Is Null",conn,1,3
Rs.Addnew
Rs(x)=xx
'...
Rs.Update
'关闭记录集对象前,可赋值ID到变量
NewID=Rs(0)
Rs.Close
Set Rs=Nothing