我有一个存储的procdure,当我在sql server管理控制台中执行时工作正常,但是当在强类型数据集中使用时,它总是返回“1”(我认为这意味着插入了记录)。
这是SP
USE [DataBaseName]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[InsertRecord]
(
@a int,
@b int
)
AS
INSERT Into tableName
Values
(
@a,
@b
)
return SCOPE_IDENTITY()
现在,当我将程序拖放到强类型数据集上时,它会在“单值”之前为我提供这些选项。
答案 0 :(得分:1)
由于SP中没有SET NOCOUNT ON;
,它可能会为插入的记录返回1。尝试添加它,它应该解决问题。没有这个将为您提供受影响的记录数量,在您的情况下为1。
USE [DataBaseName]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procedure [dbo].[InsertRecord]
(
@a int,
@b int
)
AS
SET NOCOUNT ON;
INSERT Into tableName
Values
(
@a,
@b
)
return SCOPE_IDENTITY()