保存后,如何取得自动增长型ID的值?

miniburger 2003-11-28 03:21:52
有一数据表,以ID为主键,其类型为自动增长数值型

保存后,如何取得其ID值?

请指教,在线等.
...全文
27 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
flytyger 2003-11-28
  • 打赏
  • 举报
回复
同意bananasmiling(hello找我)的,我以前也是取不了值,后来才发现原来是因为没有区分大小写,一般设为ID后,就用大写。
update a set b='b'
ID=rs("ID")
response.redirect "disp.asp?ID="&ID
这时已经取了值了
miniburger 2003-11-28
  • 打赏
  • 举报
回复
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

ALTER PROCEDURE insertinto_orderform
(@addtime datetime,@idd numeric(28,0) output)
AS

insert into order_form(addtime) values(getdate())
SELECT @idd=max(id)
FROM order_form

RETURN
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

我写了一个这样的存储过程,执行没错,但数据表并没有插入新记录,奇怪
sx1123 2003-11-28
  • 打赏
  • 举报
回复
原来我还试过
select max(id) as id from tableName where 字段='刚才添加的记录'
但是有时找不到id
奇怪
miniburger 2003-11-28
  • 打赏
  • 举报
回复
哦,我也只是想到这个办法了.

其实除了用存储过程以外,还有没有其它办法呢?
sx1123 2003-11-28
  • 打赏
  • 举报
回复
用存储过程吧,执行速度还快呢
miniburger 2003-11-28
  • 打赏
  • 举报
回复
有个这样的设想,如果在插入操作以后,马上就有另外一个进程又插入了一个记录,这样的话,用MAX(ID)取出来的ID就已经不是我刚才那一条记录的ID号了.有没有办法在保存的时候就返回一个值?
bananasmiling 2003-11-28
  • 打赏
  • 举报
回复
sql="select max(id)id from text"
set rs=conn.execute(sql)
response.write rs("id")
bananasmiling 2003-11-28
  • 打赏
  • 举报
回复
response.write rs("id")

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧