外键约束在SQlite中不起作用

时间:2019-02-05 13:05:43

标签: sqlite

我正在使用sqlite将pk从表1删除到表2,作为我数据库中的外键。但是我的表2不能按照外键约束工作,如果表1中没有该键,它将插入记录。我正在使用数据库浏览器,并且在那里启用了编译指示外键,但仍然无法正常工作

I have attached its image

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");