【问题标题】:Strongly typed dataset Playing up big time强类型数据集
【发布时间】:2013-09-03 18:59:00
【问题描述】:

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

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

【问题讨论】:

  • 强类型数据集玩得很开心,我喜欢这个标题:)
  • 下面的问题解决了吗?
  • 是的,我重新创建了数据集,还在存储过程中使用了 OUTPUT 参数并将其捕获到数据集中,还将查询属性从非执行更改为 SCalar
  • 如果你用它更新你的答案,我会接受它

标签: c# sql-server


【解决方案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()

【讨论】:

    猜你喜欢
    • 2011-06-22
    • 2017-03-23
    • 1970-01-01
    • 2023-03-10
    • 2013-02-16
    • 2011-01-22
    • 1970-01-01
    • 2010-09-19
    • 2016-07-20
    相关资源
    最近更新 更多