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

前端之家收集整理的这篇文章主要介绍了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

原文链接:https://www.f2er.com/aspnet/248139.html

猜你在找的asp.Net相关文章