日期:2014-05-16  浏览次数:20836 次

cmd添加条目后,如何返回autoid
需要添加一个用户,然后返回其自动编号

以前我用这种办法
VBScript code
function addUser(strName)  '成功返回用户id,否者返回-1
    rst.open "tblUser",con,adOpenFowrardOnly,adLockOptimistic,adCmdTable
    rs.addNew
    rst("strName")=xxx ; '这里strName为Unique,重复会报错
    on error resume next 
        rst.update
    if err then  
        addUser=-1
    else
        addUser=rst("lngId")
    end if 
    on error goto 0
end function 


但是这需要打开表,可能会降低性能,能否一个adodb.command实现???
例如(可能是错误的)
VBScript code
cmd.CommandText="INSERT INTO tblUser (lngId,strName) VALUES (?,?)"
cmd.parameters.append cmd.createParameter("lngId",adInteger,adParamOutput)
cmd.parameters.append cmd.createParameter("strName",adWChar,adParamInput,len(strName),strName)
cmd.execute


------解决方案--------------------
最简单的方法,还是直接select @@identity; 得到刚插入记录的自动编号。