刚插入的新记录如何得到它的ID号(数据库自动生成的)???????
表有两个字段:
[table1].nID
[table1].strName
========================================
Dim InsertCmd As String
Dim nIndex As Integer
InsertCmd = "INSERT table1 (strName) VALUES('" & text_box.text & _
"');"& _
"SELECT nIDFROM table1 WHERE (nID=@@IDENTITY)"
Dim rs As New ADODB.Recordset
Set rs = GModule.GetRecordset(InsertCmd, adLockOptimistic) '已封装的Recordset,这里没问题
nIndex = rs.Fields("nID").Value
'我调试过了,rs在这里时已经全部关闭,不能执行上一行了。
========================================
请问大哥哥们,有好的方法吗????
先谢谢了!!!!!!!!!!!!!!!!!!!!!1
问题点数:20、回复次数:15Top
1 楼ziyantan(gdsspt.com)回复于 2004-12-04 11:41:57 得分 14
插完后读出来就行了。
再建一个对象咯Top
2 楼vivasoft(蓝白领)回复于 2004-12-04 11:56:05 得分 0
那样是不行的,我要得到刚插入的那条记录,只显示它(不显示全部的)Top
3 楼vivasoft(蓝白领)回复于 2004-12-04 12:01:23 得分 0
怎么没有人来啊Top
4 楼ziyantan(gdsspt.com)回复于 2004-12-04 12:05:11 得分 0
最后一条记录啊。
怎么不行。
把游标移到最后。Top
5 楼ziyantan(gdsspt.com)回复于 2004-12-04 12:06:20 得分 0
再不读出ID最大那个值Top
6 楼vivasoft(蓝白领)回复于 2004-12-04 12:09:06 得分 0
这样不是很可靠啊,如果还有一个人在其它的机子上插入呢,正好插在此记录的下一条呢!
那怎么办?
在.net中用这种方法是可以的,我试过了Top
7 楼ziyantan(gdsspt.com)回复于 2004-12-04 12:13:13 得分 0
你插入的记录有个标签
如:时间和名称或者其他
Dim a As String
a = 你插入的时间和名称
Set Rs = Conn.ExeCute("Select id From biao Where 标签= a")
Rs("id")
这样不就行了
Top
8 楼vivasoft(蓝白领)回复于 2004-12-04 12:21:16 得分 0
ziyantan(子言) 兄弟!
“标签”是什么,能详细一点,如果是其中的字段那也不是唯的一,是不行的
我在这个表里是不能修改它的字段的
Top
9 楼ziyantan(gdsspt.com)回复于 2004-12-04 12:24:54 得分 0
句是能唯一查讯的东西。Top
10 楼creazyfish(梳分头的鱼)回复于 2004-12-04 12:52:12 得分 2
这个很难办呀呵呵Top
11 楼aohan(aohan)回复于 2004-12-04 16:17:36 得分 2
如果是Sql SERVER 并且表中标识符,那么其中有一个常数
@@IDENTITY
每次插入数据完成后,SQL SERVER 都会返回该值,如果是多条记录则返回最后一条值,你用
select @@IDENTITY 就可以取到Top
12 楼strongfisher(Haiwolf)回复于 2004-12-04 16:27:31 得分 1
s = "select max(Id) as NumberId from " & sTbl & " sName & "'"
Set rsWoNumber = cnnCMMS.Execute(s)Top
13 楼daisy8675(莫依 沉迷)回复于 2004-12-05 02:29:48 得分 0
SQL 有标识,access只能取max数值Top
14 楼yenight(抵制日货 利国利民 能不买日货,尽量不买)回复于 2004-12-05 15:39:56 得分 1
ACCESS中用DAO不要用Insert这个语句,用DAO.Addnew这个方法,后移动到最后一个修改的记录,最后再读出不就OK了。如果用ADO的话,也可以用类似的方法得到!你找一找, 以前偶回过一个这样的贴子!Top
15 楼vivasoft(蓝白领)回复于 2004-12-07 14:11:01 得分 0
非常感谢大家,我已经解决这个问题了!Top




