asp.net InsertCommand返回的最新插入ID
-
18-09-2019 - |
题
我无法检索最新插入id从我SQL Server2000db使用类型的数据集asp.NET
我已经创建了一个库中,删除和我打勾"刷新的数据表"和"产生插入、更新和删除性声明"。这自动产生的填充和GetData方法,并插入、更新选择,删除发言。
我已经尝试了每一个可能的解决方案在这个线程
http://forums.asp.net/t/990365.aspx
但我仍然unsuccesfull,它始终返回1(=数受影响的行)。我不想创建一个独立的插入的方法自动生成的insertCommand完全适合我的需要。
建议在该线以上,我已试图更新InsertCommand SQL语法添加选择SCOPY_IDENTITY()或类似的东西,我已经试过添加类型的参数ReturnValue,但是我所得到的是数量的影响行。
任何人都不会有不同的看这个?在此先感谢!Stijn
解决方案
我成功地找到了一种方法使用我的表适配器得到插入后增量ID。
我的做法有点不同,我使用一个存储过程,可以使插入,所以我的INSERT命令有所有的值,但该ID,我所做的SP只返回调用ID: SET @ ID = SCOPE_IDENTITY() 接着 COMMIT TRAN 和最后一个行会 RETURN @ID
然后我搜索的InsertCommand我表适配器参数和@RETURNVALUE设置表中的增量ID的列,所以当它的自动执行把返回值的id字段。
希望这有助于
其他提示
我决定放弃,我不能浪费这个时间了。 我使用插入语句之后我做一个选择MAX(ID)查询来hget插入ID
如果任何人都应该有一个解决方案,我会很高兴在这儿读
由于 斯泰恩
你需要告诉你表的表器刷新 数据表之后新插入运作。这是你怎么可以这样做。
开放性 库中,删除->默认选择的查询>Advnaced的选择.和检查的选择 刷新的数据表.保存适配器。现在当你打电话的最新表器, 数据表将更新[刷新]之后新插入操作 并将反映最新数值,从数据库表。 如果主键或任何coloumn设置自动增加,该数据表将有那些最新的价值的后最近的更新。
现在你可以打电话的更新作为TableAdapterObj.更新(ds。数据表);
阅读最新数值,从数据表(ds。数据表)里奥字符匹和分配各自的价值观纳入儿童表之前update/insert.这将的工作正是你想要的方式。