2013-12-16 21 views
2

我正在將代碼從Delphi 2007 + AnyDac移動到Delphi XE4 + FireDac。在AnyDac的情況下,所有空字符串均被存儲爲NULL,並且在FireDac中存儲了所有空字符串,如空字符串''NULL從Anydac移動到Firedac時丟失了

我需要回到NULL的。這樣做的最好方法是什麼?我使用存儲到PARAMS DB:

ADQuery.Params.ParamByName('Code').Value :=Code; 
+0

你說「存儲」,但這是由數據庫控制的。你的數據庫是什麼? –

+0

@Marcus,主要由一個數據集控件本身(請參閱下面的帖子)...之後,它在數據庫如何存儲。 – TLama

+0

@TLama,如果您認爲訪問數據庫的唯一要點是數據集控制。如果OP回答了我的問題,那麼可以有更全面的答案。 –

回答

4

包括(它設置爲True在Object Inspector)的StrsEmpty2Null選項將數據集對象的FormatOptions。參考表示(由我強調):

控制零長度的串值的爲NULL值轉換。使用StrsEmpty2Null屬性來控制FireDAC 是否應將零長度的字符串值轉換爲NULL值(True)或 not(False)。 默認值爲False

相關問題