access没办法,如果是用MSSQL的话,可以用存储过程返回@@IDENTITY的值。
解决方案 »
- Crystal Reports XI Release 2水晶报表的制作与发布,哪位告知下怎么操作,或提供下相关资料哈,谢谢
- 如何使用C#获取一个域名的名称服务器地址?
- 如何在PANEL的单击事件中获取当前单击PANEL的NAME属性
- System.Diagnostics.Process关于这个东西能否远程打开
- 《根据编码生成树》求高手帮助!!!
- 请教如何在C#中设置windows用户的权限
- 点击PrintPreviewDialog的打印图标,是否会关闭窗体,并返回OK值?但我这里怎么不关闭窗体呢.求救?
- 关于.NET 托管MDirectX的兼容性问题
- 如何实现类似AutoCAD的功能?
- dropdownlist控件的问题请教。
- [求助]如何排除重名
- StructLayout类是干什么用的,它有什么用,什么时候用它呀?????????????
不过你可以在做一次查询取回最大的id值即新增的ID号
decimal meterid=(decimal)command.ExecuteScalar();
sql = "insert into table1 (columns1,columns2) values ('1',abc);select @@identity as 'id'";
int i = Convert.ToInt32(Command.ExecuteScalar());
在insert时,用程序自动生成一个的GUID,
然后用select id where flag= 此GUID
每写入数据库后,加多一个字段为用户ID,
然后读取该ID用户的最大ID的记录即为刚添加的记录
你的想法好极了,好像还可以解决并发问题
然后查选,几句是刚刚的guid。
然后更新,完成我们实现的插入操作完成的内容。
if @@error=0 select @@identity
else select -1
decimal meterid=(decimal)command.ExecuteScalar();