asp-classic – 如何从此ADODB.Recordset获取插入ID?

我试图避免在我的网络应用程序中使用直接的SQL查询.我环顾四周并得出结论,ADO Recordsets将是最好或最安全的工具.我需要将记录插入数据库表.不幸的是,我不知道如何获得刚刚插入的记录的标识值.这是我现在所拥有的减少:
<%
dim insertID,rs
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "my_table_name",conn,adOpenForwardOnly,adLockOptimistic

rs.AddNew()

Call m_map_values_to_rs(rs)

rs.Update()

insertID = rs("id")

rs.Close()
rs = Nothing
%>

我的代码是成功插入记录,但我不能为我的生活弄清楚如何在插入后获取Recordset的id字段更新.如何从此Recordset中获取标识列值?

更新 – 这是关于上面代码的解决方案.

我不得不将光标类型更改为adOpenKeyset而不是adOpenForwardOnly.执行此操作后,记录将在插入后使用“自动编号”字段的新值自动更新.然而,这不是你的想法. rs(“id”)的值不会变成整数甚至变量.它变成某种自动化类型,不能作为数字进行评估.出于某种原因,CInt()也不能直接用于该类型.所以你必须做的是将值转换为字符串,然后将其转换为Int.以下是我如何管理:

insertID = CInt( rs("id") & "" )

感谢Dee的回答.它帮助极大.

解决方法

本文解释了使用示例代码获取标识值的方法.如果您在此之后需要更多帮助,请告诉我们

http://databases.aspfaq.com/general/how-do-i-get-the-identity/autonumber-value-for-the-row-i-inserted.html

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....