2

我有一个存储过程,当我在 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()

现在,当我将程序拖放到强类型数据集上时,它会在它处于“单值”之前为我提供这些选项。

在此处输入图像描述

4

1 回答 1

1

SET NOCOUNT ON;由于没有在 SP 中,它可能为插入的记录返回 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()
于 2013-09-03T10:59:00.530 回答