0

我正在用 C# 生成一个数据模板。在这个精彩网站上的好人的帮助下,我已经设法处理了几乎所有问题。这应该是最后一个问题。因为它是我正在处理的模板,所以我想要表中的每个字段,包括空值。我在如何通过添加 (object)this.field 来更新空值方面得到了帮助?DBNull.Value 但我有一个外键字段,即使当我查看数据库时它显示为 null,但当我提取记录时,值变为 0。当我尝试更新此字段时,它说我违反了外键约束。我该如何解决这个问题?我认为空解决方案会起作用,但它不显示为空,它显示为 0。

谢谢

4

2 回答 2

0

一般来说,允许 FK 为空并不是一个好主意。一些数据库(我知道 oracle 这样做)通过将 FK 绑定到主键而不是其他表中的列来强制执行此操作。您能否重构您的表以使该列不需要空值?

于 2009-01-18T04:01:12.477 回答
0

0 是该列的可能有效值吗?如果没有,只需在遇到一个时将其类型转换为 null。如果它有效,您仍然可以这样做,方法是将其包装在首先检查外部行是否存在的条件中。

于 2009-01-18T05:20:58.137 回答