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

怎样快速取得,已发信息的ID

zfjyyzycl 发布于 2007-11-27 16:19, 657 次点击
做个的网站,但是有个问题开始困扰我了,当发表帖子的时候怎么快速取得这个帖子的ID
假如  数据库中 list 表 存储主题贴  

字段               类型
id                   自动编号
name             文本
nr                  备注
date              日期/时间
time               日期/时间
user_id          数字
user_name    文本

用set rs=server.createobject("adodb.recordset")
   sql="select * from list where id=0"
   rs.open sql,conn,3,2
   rs.addnew
   rs("nr")=zfj_nr    '帖子内容
   rs("name")=zfj_bt       '帖子标题
   rs("user_name")=session("user_name")  '发表人
   rs("user_id")=session("user_id")    '发表人ID
   rs("date")=date   '日期
   rs("time")=time    '时间
   rs.update
   rs.close
   set rs=nothing

怎么才能在不再次查询数据库的情况下取得 这个主题帖的ID,如果要查询数据库取得这个帖子的ID,就牵扯到匹配字段的问题,根据这个表的字段设计,最有可能完全区分每个帖子的除了ID之外,就是 name ,  user_id ,  time 这三个字段的组合了。但是time这个字段怎么比较呢

请帮助偶 谢谢
3 回复
#2
yms1232007-11-27 16:56
Dim NewID
   set rs=server.createobject("adodb.recordset")
   sql="select * from list Order by id ASC"
   rs.open sql,conn,3,2
   rs.MoveLast
   NewID=rs("id")+1
   rs.addnew
   rs("nr")=zfj_nr    '帖子内容
   rs("name")=zfj_bt       '帖子标题
   rs("user_name")=session("user_name")  '发表人
   rs("user_id")=session("user_id")    '发表人ID
   rs("date")=date   '日期
   rs("time")=time    '时间
   rs.update
   rs.close
   set rs=nothing
   自动编号的字段一般是id自动加1,查询时按id升序排列,最后一条记录的ID加1就可能是新的ID。
#3
yms1232007-11-27 16:59
Dim NewID
   set rs=server.createobject("adodb.recordset")
   sql="select * from list Order by id Desc"
   rs.open sql,conn,3,2
   NewID=rs("id")+1
   rs.addnew
   rs("nr")=zfj_nr    '帖子内容
   rs("name")=zfj_bt       '帖子标题
   rs("user_name")=session("user_name")  '发表人
   rs("user_id")=session("user_id")    '发表人ID
   rs("date")=date   '日期
   rs("time")=time    '时间
   rs.update
   rs.close
   set rs=nothing
另一种就是按ID降序排列,这样第一条就是最后添加的记录ID,对其加1也是最新ID
#4
zfjyyzycl2007-11-28 08:36
非常的感谢
1