![]() |
1
2
我真的不知道它们的用途((:px=1和xxx为空)或(xxx=:py)),但是commandbuilder确实生成了一个where子句来检查正在更新的行在您加载后是否已更改。例如,如果加载包含值(c1、c2、c3、…、cn)的行r1,并使用c3'更改c3的值,则update命令文本具有where子句,该子句检查行的所有原始值(例如,where c1=c1和c2=c2和…)。如果update命令影响0行,则表示在加载该行和更新该行之间的时间内,其他人已更新了该行,并且该命令抛出了一个dbconcurrencyException。我知道你可以改变这种行为(不记得具体是怎么改变的)。 所以这就是update命令中where子句的主要原因。 |
![]() |
2
0
这个问题与如何在datatable中表示数据库空值以及如何测试数据库中列的值是否仍然为空有关。
在sql中,null不是一个值,而是一个状态..因此,不能像这样测试SQL列的空值:
所以你需要两个不同的测试
datarows同时保留旧值和新值,因此update命令应为:
注意,othercolumn上的where条件只需要避免覆盖其他人对同一记录的更新
但是,如前所述,如果othercolumn是空的,我们不能简单地测试
因此update命令将是:
您可以在othercolumn上读取条件,比如“where othercolumn has the same value it before
因此,对于可以为空的列,每列将使用两个不同的参数,第一个参数将作为
我希望能帮上忙
|
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |