在ACCESS数据库如何获得刚INSERT INTO的记录自动生成的ID字段值?

xyofjn 2003-09-12 02:44:39
例如:
sql1="Insert into consumer(username,male,address,zip,tel,email,url,fax,memo) values ("_
&"'"&username&"',"_
&""&male&","_
&"'"&address&"',"_
&"'"&zip&"',"_
&"'"&tel&"',"_
&"'"&email&"',"_
&"'"&url&"',"_
&"'"&fax&"',"_
&"'"&memo&"')"

sql2="Insert into carduser(consumerid,cardid,cardnumb,password,buydate,payoff,employeeid,operatorip) values ("_
&"'"&consumerid&"',"_
&"'"&cardid&"',"_
&"'"&cardnumb&"',"_
&"'"&password&"',"_
&"'"&buydate&"',"_
&""&payoff&","_
&"'"&employeeid&"',"_
&"'"&operatorip&"')"
其中SQL2里consumerid就是SQL1添加的那条记录自动生成的ID,如何获得?
...全文
122 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
leyonben 2003-09-18
  • 打赏
  • 举报
回复
用 jet.oledb.4.0 , insert 以后马上用 select @@identity
xyofjn 2003-09-18
  • 打赏
  • 举报
回复
TO lanseerme(冥王) :

如果在这之间又插入了新记录,那查出的结果不就错了!
wubaozhang 2003-09-18
  • 打赏
  • 举报
回复
一般在ASP里我是用rs.open "select * from consumer where id is null",conn,2,2
Rs.addnew
rs("username")=username
…………
…………
Rs.update
consumerid=Rs("id")
Rs.close



来实现,虽然耗资源,但还可接受

至于SQL语句,我也找过段时间,还是放弃了!有找道的话请给我发个消息,谢谢
lanseerme 2003-09-18
  • 打赏
  • 举报
回复
如果设置了自动类型的字段就不用添加了,如果要得到刚生成的值,就查找最后一条的记录就行了
xyofjn 2003-09-17
  • 打赏
  • 举报
回复
谢谢楼上,不过这种方法我会,我想知道SQL的写法。
changechange 2003-09-12
  • 打赏
  • 举报
回复
http://www.access911.net/index.asp?board=4&mode=3&recordid=71FABF1E17DC
zl13 2003-09-12
  • 打赏
  • 举报
回复
先用select从sql1中取出来,然后再insert到sql2中

7,713

社区成员

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

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