【问题标题】:Visual Studio project errorVisual Studio 项目错误
【发布时间】:2018-06-21 04:00:22
【问题描述】:

这是我的桌子,如图所示

这是我的插入存储过程

但是当我尝试使用我的项目项目执行它时显示如下错误。

错误:

无法将值 NULL 插入到列“SID”、表“AttDemo.dbo.StdMst”中;列不允许空值。插入失败。
声明已终止。

【问题讨论】:

  • 在...上设置列 SID 身份自动编号

标签: asp.net sql-server


【解决方案1】:

解决此问题的最简单方法是将主键设置为自动递增 / 作为身份。

或者,你可以改变这个:

GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[STDMST_INSERT]

    @STDNAME AS NVARCHAR (50)
AS
BEGIN

    INSERT INTO (StdMst (StdName, EDate) VALUES(@STDNAME, GETDATE())

END
GO

到这里:

GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[STDMST_INSERT]

    @STDNAME AS NVARCHAR (50)
AS
BEGIN

    INSERT INTO (StdMst (SID, StdName, EDate) VALUES(IDENT_CURRENT('StdMst'), @STDNAME, GETDATE())

END
GO

您遇到的问题是您的主键不允许 NULL 值并且未设置为自动增量。

这里有一些有用的链接:

Set Primary Key as Identity
Setting key to autoincrement

【讨论】:

    【解决方案2】:

    您似乎认为您的 SID 列是 IDENTITY 列,但事实并非如此。

    【讨论】:

      猜你喜欢
      • 2016-08-26
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-10
      • 2019-04-22
      相关资源
      最近更新 更多