我有以下存储过程给我,用于使用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
答案 0 :(得分:0)
Printed
字段可能是表格中的一个新字段,该字段具有NOT NULL
约束,并且没有设置默认值。此过程似乎没有尝试将数据插入该字段,因为它无法插入NULL
插入失败。
查看表格的最新更改,尝试找出如何更改过程以将正确的值插入该字段。