插入数据后如何将插入的标识列获得

星火燎猿 2009-12-18 03:43:02
在SQLSERVER2005中可以这样写
:
insert into users(uname) values ('aa') select @@identity就可以了
但是在access中就报错该怎么解决啊....
...全文
102 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2009-12-18
  • 打赏
  • 举报
回复
好像在插入的时候有延迟,插进去要等好长时间数据才在库里出现,有没有什么可执行的方案啊

其实已经数据插入了,只是ACCESS没有去刷新,估计是从缓存中取的。 如果你用ADO去取,马上就可以看到了.
wwwwb 2009-12-18
  • 打赏
  • 举报
回复
老毛病了,ADO操作MDB有一定的时间延迟
星火燎猿 2009-12-18
  • 打赏
  • 举报
回复
好像在插入的时候有延迟,插进去要等好长时间数据才在库里出现,有没有什么可执行的方案啊
wwwwb 2009-12-18
  • 打赏
  • 举报
回复
必须用ADO连接MDB,

select @@identity取得自增字段刚插入的值
ACMAIN_CHM 2009-12-18
  • 打赏
  • 举报
回复
你可以用下面代码测试。
Public Sub t()
Dim conn As ADODB.Connection
Set conn = CurrentProject.Connection

Dim sSQL As String

sSQL = "create table a (id counter primary key,col1 int)"
conn.Execute sSQL

Dim rs As New ADODB.Recordset
sSQL = "insert into a(col1) values(11)"
conn.Execute sSQL

sSQL = "select @@identity"
rs.Open sSQL, conn
Debug.Print rs.Fields(0).Value
rs.Close

sSQL = "insert into a(col1) values(11)"
conn.Execute sSQL

sSQL = "select @@identity"
rs.Open sSQL, conn
Debug.Print rs.Fields(0).Value
rs.Close

Set rs = Nothing


End Sub
ACMAIN_CHM 2009-12-18
  • 打赏
  • 举报
回复
你在什么环境下开发?
星火燎猿 2009-12-18
  • 打赏
  • 举报
回复
ACCESS 在ADO中如何用啊
access又建不了存储过程急用啊
ACMAIN_CHM 2009-12-18
  • 打赏
  • 举报
回复
ACCESS 的ADO也同样可以啊。

但如果是直接在ACCESS的查询中不可以

7,712

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧