我有一个存储过程,可以返回新的ID号。 代码如下:

ALTER PROCEDURE [dbo]. [Save Contact]

@FirstName varchar (50),
@LastName varchar (50),
@Email varchar (50)
AS
BEGIN
- SET NOCOUNT ON added to Prevent extra result sets from
- Interfering with SELECT statements.
SET NOCOUNT ON;

INSERT INTO Contacts (FirstName, LastName, Email)
VALUES (@FirstName, @LastName, @Email)

SELECT SCOPE_IDENTITY() as newid
END

当我尝试映射存储过程时,出现以下错误:

错误1错误2047:映射函数绑定说明符具有不支持的参数id的函数demoModel.Store.SaveContact。 输出参数只能通过RowsAffectedParameter属性进行映射。 使用结果绑定从函数调用中返回值。

在此处输入图片说明

这里有人可以看到我在做什么吗?

需要更多代码,请告诉我。

===============>>#1 票数:0 已采纳

使用上面的SQL删除id作为insert语句的参数。 它不需要。 要获取SCOPE_IDENTITY()您只需要在结果列绑定中映射它的newid

还要确保“结果列绑定”中的列名与存储过程返回的大小写相同。

资料来源: http : //blogs.msdn.com/b/adonet/archive/2008/03/26/stored-procedure-mapping.aspx

  ask by SteelSoft translate from so

未解决问题?本站智能推荐: