Kesalahan penyisipan SP: Konflik dengan Kunci asing

Saya tahu ada beberapa pertanyaan terkait hal ini, tetapi saya yakin pertanyaan tersebut tidak berhasil.

Saya memiliki sp untuk memasukkan data ke dalam tabel, tabel tersebut juga memiliki kunci asing.

Ini adalah struktur tabel saya yang ingin saya sisipkan,

masukkan deskripsi gambar di sini

Saya menggunakan asp.net dan sp saya terlihat seperti di bawah ini

ALTER PROCEDURE [dbo].[spInsertJob]
@CompanyID INT,
@DepartmentID INT,
@No VARCHAR(50),
@Date DATETIME,
@CustomerID INT,
@JobTypeID INT,
@BillNo VARCHAR(50),
@GoodsType VARCHAR(50),
@Remarks VARCHAR(250),
@Cancelled BIT,
@CancelledRemarks VARCHAR(50),
@UserId INT,
@Closed BIT,
@Shipper VARCHAR(100),
@SupplierInvoice VARCHAR(50),
@HBillNo VARCHAR(50),
@JobStartedDate DATETIME,
@AssignedStaffid INT,
@VesselorFlightName VARCHAR(100),
@VesselorFlightArvDate DATETIME,
@FormNumber VARCHAR(50),
@FinancialId INT,
@NoofPackages INT,
@TypeOfPackages VARCHAR(100),
@ChargableWeight VARCHAR(50),
@Volume VARCHAR(50),
@DispatchMode VARCHAR(500),
@TransactionId INT OUT,
    @TransactionNo NVARCHAR(50) OUT

AS
BEGIN
     SET NOCOUNT ON;
     DECLARE @Id AS INT
       SELECT @Id=isnull(max(Id),0)+1 FROM  Job

 INSERT INTO Job( Id, CompanyID, DepartmentID, No, Date, CustomerID, JobTypeID, BillNo, GoodsType, Remarks, Cancelled, CancelledRemarks, UserId, Closed, Shipper, SupplierInvoiceNo, HBillNo, JobStartedDate, AssignedStaffid, VesselorFlightName, VesselorFlightArvDate, FormNumber,  NoOfPackages, TypeOfPackages, ChargableWeight, Volume, DispatchMode) 

values(@Id,@CompanyID,@DepartmentID,@No,@Date,@CustomerID,@JobTypeID,@BillNo,@GoodsType,@Remarks,@Cancelled,@CancelledRemarks,@UserId,@Closed,@Shipper,@SupplierInvoice,@HBillNo,@JobStartedDate,@AssignedStaffid,@VesselorFlightName,@VesselorFlightArvDate,   @FormNumber,@NoofPackages, @TypeOfPackages, @ChargableWeight, @Volume, @DispatchMode)

SELECT @TransactionId = @Id
SELECT @TransactionNo = @No 
SET NOCOUNT OFF;
END

Saya mendapat kesalahan

Pernyataan INSERT bertentangan dengan batasan FOREIGN KEY "FK_Job_JobType". Konflik terjadi di database "dbname", tabel "dbo.JobType".
Pernyataan telah dihentikan.

ini adalah tabel JobType saya

masukkan deskripsi gambar di sini

jadi saya mencoba memasukkan seperti ini dan kesalahan tetap ada

INSERT INTO Job (Id,CompanyID,DepartmentID,No,Date,CustomerID,JobTypeID,BillNo,GoodsType,Remarks,Cancelled,CancelledRemarks,UserId,Closed,Shipper,SupplierInvoiceNo,HBillNo,JobStartedDate,AssignedStaffid,VesselorFlightName,VesselorFlightArvDate,FormNumber,NoOfPackages,TypeOfPackages,ChargableWeight,Volume,DispatchMode)

VALUES (88,1,0,'test',2018-01-01,13,1,3246,'','',0,'',2,0,'','',234632,2018-01-01,1,'test',2018-01-01,'',1,0,'','0','');

person Community    schedule 15.03.2018    source sumber
comment
Kemungkinan duplikat Pernyataan INSERT bertentangan dengan batasan FOREIGN KEY   -  person VDWWD    schedule 15.03.2018
comment
Berapa nilai @JobTypeID, dan apakah ada di dbo.JobType (Saya berasumsi ada hubungan FK, bisakah Anda menunjukkan FKnya?)   -  person HoneyBadger    schedule 15.03.2018
comment
Nilai JobTypeID dari 1 tidak ada di tabel JobType.   -  person VDWWD    schedule 15.03.2018
comment
ini adalah batasan kunci asing, Mungkin Anda memasukkan nilai untuk job_id yang tidak ada di tabel Induk.   -  person Sas    schedule 15.03.2018
comment
menambahkan data tabel tipe pekerjaan saya dan Anda dapat melihat 1 ada di sana   -  person    schedule 15.03.2018
comment
Apakah hubungannya mencakup CompanyID dan DepartmentID?   -  person HoneyBadger    schedule 15.03.2018
comment
stackoverflow.com/ question/2965837/ periksa tautan ini jika membantu   -  person Sas    schedule 15.03.2018


Jawaban (1)


Dalam kueri penyisipan Anda, JobTypeID dimasukkan sebagai ''. Jika itu adalah kunci asing, Anda tidak dapat memasukkan '' ke dalamnya. Masukkan Id yang valid ke dalamnya

person Praneet Nadkar    schedule 15.03.2018
comment
Saya memasukkan 1 tidak - person ; 15.03.2018