2
我在客戶端數據集中有一個Aggregate字段,如果客戶端數據集爲空,我使用函數來獲取聚合值,函數應該返回0TAggregateField.IsNull和(TAggregateField.Value = Null)有什麼區別
如果我這樣做:
if MyClientDataSet.AggregateField.IsNull then
Result := 0
else
Result := MyClientDataSet.AggregateField.Value;
當客戶端數據集爲空,則執行else部分並拋出一個異常(不能變轉換成外幣的錯誤)。
但如果我這樣做,這樣
if MyClientDataSet.AggregateField.Value = Null then
Result := 0
else
Result := MyClientDataSet.AggregateField.Value;
它工作正常!
所以我的問題是:什麼是IsNull屬性和比較值屬性與空值,在TAggregateField之間的區別?
我有一個TClientDataset與一個記錄TAgregate.IsNull返回False甚至認爲唯一的記錄值是空 – EMBarbosa 2014-02-12 16:48:18