我有一表
create table 表(
lsh int identity(1,1),
colName varchar(20),
...
)
我使用查询语句select * from 表 where lsh = 0来查询数据,因为lsh = 0,自然是没有数据了,于是我插入新记录:
rs.AddNew
rs("colName") = "新值"
rs("...") = "..."
rs.updatebatch 当前记录
此时,我想知道新插入的记录的lsh是多少,如何实现,不能重新查询最大值,因为在我插入记录的同时别人也可能插入新记录的。谢谢!
create table 表(
lsh int identity(1,1),
colName varchar(20),
...
)
我使用查询语句select * from 表 where lsh = 0来查询数据,因为lsh = 0,自然是没有数据了,于是我插入新记录:
rs.AddNew
rs("colName") = "新值"
rs("...") = "..."
rs.updatebatch 当前记录
此时,我想知道新插入的记录的lsh是多少,如何实现,不能重新查询最大值,因为在我插入记录的同时别人也可能插入新记录的。谢谢!
解决方案 »
- 外部表不是预期的格式
- VB中如何向已知进程的Socket ID 和如何向指定IP的端口发送封包...
- WindowsMediaPlayer1 禁止鼠标双击全屏
- VB.NET 有关通信协议的问题??
- 两表关联如何删除数据?
- 紧急求购一个VB的控件!!!必有重谢!!毕业设计!
- 变量定义紧急求助,在线等~~~
- 如何取得SQL存储过程中的参数值?谢谢!
- 今天郁闷疯掉了,散300分,闲人进来说两句让我舒服一点的话吧(2)。
- VB中如何控制打印机的纸张方向是横向还是纵向?Printer.Orientation 不管用。
- 为何在vsprinter中设置 footer 和 header 属性不生效?
- 在VB中怎么获得ASCII码?
使用SELECT @@IDENTITY as lsh时可能其他人也刚刚插入一条记录,这样返回的LSH就不是刚刚插入的了。
@colName varchar(20),
....
as
begin
insert into tablename(colname,.....)
values (@colname,....) SELECT @@IDENTITY as lsh
end
在存储过程中使用INSERT语句,总是没有返回值返回。
rs("colName") = "新值"
rs("...") = "..."
rs.update
'如果是 DAO
'rs.Book = rs.Lastmodified
msgbox rs!lsh