我正在使用sqlite将pk从表1删除到表2,作为我数据库中的外键。但是我的表2不能按照外键约束工作,如果表1中没有该键,它将插入记录。我正在使用数据库浏览器,并且在那里启用了编译指示外键,但仍然无法正常工作
答案 0 :(得分:1)
我找到了解决方案。每次建立连接时,都必须在C#代码中启用编译指示外键。 让我分享我的代码:
conn.Open();
string query = " insert into Installment_Details (Account_No,Month_yr,Date,Receipt_No,Amount_Received,Amount_Left,Amount_receiver) values ('" + this.Textbox_AN.Text + "','" + this.Textbox_MY.Text + "','" + this.Textbox_D.Text + "','" + this.Textbox_RN.Text + "','" + this.Textbox_AR.Text + "','" + this.Textbox_AL.Text + "','" + this.Textbox_ARR.Text + "');";
SQLiteCommand createcommand = new SQLiteCommand("PRAGMA foreign_keys = ON", conn);
createcommand.ExecuteNonQuery();
createcommand = new SQLiteCommand(query, conn);
createcommand.ExecuteNonQuery();
MessageBox.Show("Saved Successfully");