0
Webアプリケーションを使用して以下の表に挿入するために使用される、以下のストアドプロシージャがあります。私が次のエラーを取得しているフォームで送信を押すと。Null値を列に挿入できません - 挿入は失敗します。
カラム 'Printed'、テーブル 'CAB.dbo.Participants'に値NULLを挿入できません。列はNULLを許可しません。 INSERTは失敗します。 ステートメントが終了しました。
私はPROCをトレースしているし、おそらくPrinted
フィールドがNOT NULL
制約があり、デフォルト値が設定されていないテーブルに新しいフィールドで、次の
declare @p20 int
set @p20=NULL
exec sp_AddParticipant @P_FirstName='John ',@P_MI='m',@P_LastName='French',@P_Company='',@P_Email='[email protected]',@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',@[email protected] 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
あなたはinsert文に 'Printed'カラムを持っていないので、nullを挿入しようとします。そのカラムはnullを許さないので、そのエラーが出ます。ここで何を説明するのですか? – DavidG