回复:在MsSql、Access两种数据库中插入记录后马上得到自动编号的ID值
2005-01-10 14:58
609 查看
在并发较多的时候这种方法应该是同样可行的,我虽没去做过测试,但你查阅MSDN的ADO中有关ADODB.RecordSet的方法就应该清楚,Set testRs=Server.CreateObject("ADODB.RecordSet") '创建要测试的对象
testRs.Open "[TestTable] ",Conn,1,2 '假定开始已经创建Conn,并且数据库已经连接
这句之后实际已经将数据读取到内存中来了,最后通过AddNew和Update方法写回数据库后,之前打开的数据并未从内存中清除,因为并没有使用Close方法关闭之前打开的数据库,也没有显式地销毁对象,故这种方法在高并发环境下是同样可行的。大家可以去测试下。
下面就MoveLast的方法解释如下(原文摘自ADO的参考手册):
使用 MoveLast 方法将当前记录位置移动到 Recordset 中的最后一个记录。Recordset 对象必须支持书签或向后光标移动;否则调用该方法将产生错误。
注意关键的红色部分的几个字:“当前记录”和“RecordSet”,并非是“数据库的实时记录”,按照上面几位朋友的理解,用一个AdoDB.RecordSet一次性打开数据库后,只要不关闭,就可无限地和数据库的更新保持同步了??这显然是不可能的。
testRs.Open "[TestTable] ",Conn,1,2 '假定开始已经创建Conn,并且数据库已经连接
这句之后实际已经将数据读取到内存中来了,最后通过AddNew和Update方法写回数据库后,之前打开的数据并未从内存中清除,因为并没有使用Close方法关闭之前打开的数据库,也没有显式地销毁对象,故这种方法在高并发环境下是同样可行的。大家可以去测试下。
下面就MoveLast的方法解释如下(原文摘自ADO的参考手册):
使用 MoveLast 方法将当前记录位置移动到 Recordset 中的最后一个记录。Recordset 对象必须支持书签或向后光标移动;否则调用该方法将产生错误。
注意关键的红色部分的几个字:“当前记录”和“RecordSet”,并非是“数据库的实时记录”,按照上面几位朋友的理解,用一个AdoDB.RecordSet一次性打开数据库后,只要不关闭,就可无限地和数据库的更新保持同步了??这显然是不可能的。
相关文章推荐
- (转帖)在MsSql、Access两种数据库中插入记录后马上得到自动编号的ID值
- 在MsSql、Access两种数据库中插入记录后马上得到自动编号的ID值
- 在MsSql、Access两种数据库中插入记录后马上得到自动编号的ID值
- 插入Access记录后马上得到自动编号值的方法
- 插入Access记录后马上得到自动编号的值
- C# 向数据库插入一条记录后,获得新插入记录的自动编号(id)
- Mysql,access,mssql server三种数据库获得新插入记录id的方法
- asp下如何在Access数据库中立即得到所插入记录的自动编号?
- 插入一条记录后,马上得到新插入记录ID值的方法。good
- SQL Server 返回最后插入记录的自动编号ID (Java语言)
- SQL Server 返回最后插入记录的自动编号ID
- SQL Server 返回最后插入记录的自动编号ID
- 使用SQL Server 获取插入记录后的ID(自动编号)
- select @@identity得到上一次插入记录时自动产生的ID
- 得到刚刚插入的记录的自动编号值一例
- SQL Server 返回最后插入记录的自动编号ID
- 如何得到上一次插入记录后自动产生的ID
- ASP获取刚插入记录的自动编号ID
- SQL Server 获取插入记录后的ID(自动编号)