2016-07-14 36 views
0

我使用C#與System.Data.SQLite庫,我有一個外鍵不匹配錯誤。 我創建了三個表:爲什麼在此代碼中存在外鍵不匹配錯誤?

Com.CommandText = @"create table Projekt ([ProjectID] Integer NOT NULL Primary key, [Projektname] varchar(360),[ProjektEd] DATETIME, [ProjektLSD] Datetime, [ProjektLD] Datetime);"; 
Com.ExecuteNonQuery(); 
Com.CommandText= "create table Template ([TemplateID] Integer NOT NULL Primary key,[Templatename] varchar(360),[TemplateEd] Datetime, [TemplateLSD] Datetime,[TemplateLD] Datetime);"; 
Com.ExecuteNonQuery(); 
Com.CommandText = "create table Messung ([MessungID] Integer Not Null Primary Key, [Messungname] varchar(360), [MessungEd] Datetime, [MessungLSD] Datetime, [MessungLD] Datetime, [ProjektID] Integer, [TemplateID] Integer,FOREIGN KEY(ProjektID) REFERENCES Projekt(ProjektID), Foreign Key (TemplateID) References Template(TemplateID)); "; 
Com.ExecuteNonQuery(); 

在那之後我插入 這會在「Projekt的」表我的第一個條目:

Insert into projekt (Projektname, ProjektEd,ProjektLSD, ProjektLD) values ('Messung_Win_3', '2016-06-16 14:47:00','2016-06-27 14:47:00', '2016-07-14 11:12:00'); 

,而這造成我的第四個條目(我之前另外三個刀片這一個)表中的「模板」:

Insert into Template (Templatename, TemplateEd, TemplateLSD, TemplateLD) values('Messung_Win_3', '2016-05-19 15:13:00','2016-06-27 14:47:00', '2016-07-14 11:12:00'); 

所以,現在的問題: 爲什麼這個命令有foreig密鑰不匹配錯誤?

Com.CommandText = "Insert into Messung (Messungname, MessungEd, ProjektID, TemplateID) values ('Board2ROI3','2016-06-16 14:47:00',1,4);"; 

我使用SQLite(SQL.js)通過SQLFiddle對其進行了測試。鏈接在這裏:http://sqlfiddle.com/

它工作得很好,但在C#中它得到這個錯誤。

我希望你能幫助我

回答

0

你拼寫你的FK專案編號錯誤

Com.CommandText = @"create table Projekt ([**ProjectID**] Integer NOT NULL Primary key, [Projektname] varchar(360),[ProjektEd] DATETIME, [ProjektLSD] Datetime, [ProjektLD] Datetime);"; 


Com.CommandText = "create table Messung ([MessungID] Integer Not Null Primary Key, [Messungname] varchar(360), [MessungEd] Datetime, [MessungLSD] Datetime, [MessungLD] Datetime, [ProjektID] Integer, [TemplateID] Integer,FOREIGN KEY(ProjektID) REFERENCES Projekt(**ProjektID**), Foreign Key (TemplateID) References Template(TemplateID)); "; 
+0

神該死的,這種低級錯誤。非常感謝! – Evosoul

相關問題