无法将值Null插入打印的列中 - 插入失败

时间:2016-11-10 01:05:26

标签: sql-server

我有以下存储过程给我,用于使用Web应用程序插入下表。当您点击表单上的提交时,我收到以下错误。

无法将值NULL插入“Printed”列,表'CAB.dbo.Participants';列不允许空值。 INSERT失败。 该语句已终止。

我已经跟踪了proc并得到了以下内容

declare @p20 int
set @p20=NULL
exec sp_AddParticipant @P_FirstName='John ',@P_MI='m',@P_LastName='French',@P_Company='',@P_Email='jfrench1941@gmail.com',@P_Address='10045 Hampton Rd',@P_City='Sacramento ',@P_State='ca',@P_Zip='95864',@P_Phone='917-349-9845',@Gift=0,@P_Age='',@P_Education='',@P_Income='',@P_Commmethod='Email',@CC_Ty    pe='Visa',@CC_Name='John   French',@CC_Number='4822820089199876',@CC_Expires='12/19',@ID=@p20 output
    select @p20
    go

    Any help would be much appreciated.

    SET ANSI_NULLS OFF
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[sp_AddParticipant]
    @P_FirstName varchar(20),
    @P_MI varchar(5)= Null,
    @P_LastName varchar(30),
    @P_Company varchar(80)= Null,
    @P_Email varchar(50),
    @P_Address varchar(40),
    @P_City varchar(40),
    @P_State varchar(15),
    @P_Zip varchar(10),
    @P_Phone varchar(25),
    @Gift bit, 
    @GiftType varchar(10) = Null,
    @G_FirstName varchar(20)= Null,
    @G_MI varchar(5)= Null,
    @G_LastName varchar(30)= Null,
    @G_Company varchar(80)= Null,
    @G_Email varchar(50)= Null,
    @G_Address varchar(40)= Null,
    @G_City varchar(40)= Null,
    @G_State varchar(15)= Null,
    @G_Zip varchar(10)= Null,
    @G_Phone varchar(25)= Null, 
    @P_Age varchar(20)= Null,
    @P_Education varchar(20)= Null,
    @P_Income varchar(20)= Null,
    @P_Commmethod varchar(10)= Null,
    @CC_Type varchar(25),
    @CC_Name varchar(50),
    @CC_Number varchar(16),
    @CC_Expires varchar(7),
    @ID bigint OUTPUT

        AS
    INSERT INTO Participants
    (P_FIRSTNAME,P_MI,P_LASTNAME,P_COMPANY,P_EMAIL,P_ADDRESS,P_CITY,P_STATE,P        _ZIP,P_PHONE,GIFT,GIFTTYPE,
    G_FIRSTNAME,G_MI,G_LASTNAME,G_COMPANY,G_EMAIL,G_ADDRESS,G_CITY,G_STATE,G_        ZIP,G_PHONE,P_AGE,P_EDUCATION,
    P_INCOME,P_COMMMETHOD,CC_TYPE,CC_NAME,CC_NUMBER,CC_EXPIRES)
    VALUES
    (@P_FIRSTNAME,@P_MI,@P_LASTNAME,@P_COMPANY,@P_EMAIL,@P_ADDRESS,@P_CITY,@P        _STATE,@P_ZIP,@P_PHONE,@GIFT,@GIFTTYPE,
    @G_FIRSTNAME,@G_MI,@G_LASTNAME,@G_COMPANY,@G_EMAIL,@G_ADDRESS,@G_CITY,@G_        STATE,@G_ZIP,@G_PHONE,@P_AGE,@P_EDUCATION,
    @P_INCOME,@P_COMMMETHOD,@CC_TYPE,@CC_NAME,@CC_NUMBER,@CC_EXPIRES)

    SELECT @ID = @@IDENTITY

1 个答案:

答案 0 :(得分:0)

Printed字段可能是表格中的一个新字段,该字段具有NOT NULL约束,并且没有设置默认值。此过程似乎没有尝试将数据插入该字段,因为它无法插入NULL插入失败。

查看表格的最新更改,尝试找出如何更改过程以将正确的值插入该字段。