关于sql return的问题

tonylearner 2008-10-08 09:50:12
是这样,我用一个存储过程向表中添加一行数据,然后用 return 将@@identity 即 新增行的标识id返回,在sql中测试是成功的,但到程序中后,我在dataset中建立了QueriesTableAdapter并添加了这个存储过程的映射,并选择了return a singel value项,但最后在程序中得到的却是 0.
请问我该如何在程序中得到这个值?
...全文
199 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
软件钢琴师 2008-10-13
  • 打赏
  • 举报
回复
直接用aoqquery1.open(usp_proc);
value := adoquery1.fieldlist[0].asstring;
水族杰纶 2008-10-08
  • 打赏
  • 举报
回复
if object_id('tb')is not null drop table tb
go
create table tb(Id int identity(1,1),[Name] varchar(10))
if object_id('P_test','P')is not null drop proc P_test
go
create Proc P_test
@Name varchar(10),
@Identity int output
as
insert tb select @Name
set @Identity=@@identity
return @Identity
go
declare @Identity int
exec P_test 'A',@identity output
exec P_test 'B',@identity output
select @identity
/*
-----------
2

(所影响的行数为 1 行)
*/

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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