Sqlite:外键在Visual Studio中无法正常工作

时间:2018-01-02 21:52:06

标签: database sqlite foreign-keys

所以我正在尝试使用C#和WPF构建药房管理系统。

我将使用便携式数据库来跟踪产品和库存。它必须是便携式的原因是一些药店可能没有互联网连接,他们的工作无法停止或取决于互联网质量。< / p>

所以我选择了Sqlite并开始使用SQLite / SQL server compact工具构建我的数据库。

出于某种原因外键不能正常工作...... 到目前为止,我有两个表“产品”来跟踪“产品”和“Stocking”来跟踪他们的“股票”

产品中的主键是“Product_Id” 并且库存表有一个名为“Product_Id”的列,它作为外键...

据我了解,Stoking不能接受“Product_Id在产品中不存在。但它一直接受它,我不知道为什么,我已经尝试了一切,我在这里创建了一个帐户...

this is "products" table which contains pk being referenced to

this is "Stocking" table which contain Fk, and you can see that it has a value that doesn't exist in Products

this is script that I Used to create Stoking table

我试过脚本PRAGMA foreign_keys = ON;但它没有用.. 我该怎么办

2 个答案:

答案 0 :(得分:0)

好吧,我弄清楚出了什么问题,事实证明每次插入数据时我都必须明确地转换PRAGMA foreign_keys。我想知道是否还有它可以保持开启状态?

答案 1 :(得分:-1)

为SQLite安装数据库浏览器并在那里检查,确定SQLite中的引用约束有效,因此数据库中存在错误。