加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 04:23:38 所属栏目:asp.Net 来源:网络整理
导读:我试图避免在我的网络应用程序中使用直接的SQL查询.我环顾四周并得出结论,ADO Recordsets将是最好或最安全的工具.我需要将记录插入数据库表.不幸的是,我不知道如何获得刚刚插入的记录的标识值.这是我现在所拥有的减少: %dim insertID,rsset rs = Server.Cre
我试图避免在我的网络应用程序中使用直接的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读