2012-12-23 21 views
0

使用的語言是Lazarus Pascal,DB是PostgreSQL。Lazarus + PostgreSQL:爲什麼空白文本框會存儲單個語音標記?

我指定的值到參數如下:

dbQuery_Supp.Params.ParamByName('pCity').AsString := txtCity.Text; 

,這是使用INSERT查詢到DB寫入。

將數據正確存儲到包含值的字段中。但對於沒有數據的文本框,當使用pgadmin進行瀏覽時,在字段中會看到單引號('')。

我的問題:

我需要確保,如果沒有數據輸入在文本框,該值的字段爲空的數據塊而不是單引號。傳統上(在VB中)我會檢查每個文本框的值,只有在有數據時才插入。這在拉撒路中是一回事嗎?還是有辦法解決這個問題?由於我使用參數編寫值,因此爲每個字段構建字符串檢查看起來像是額外的工作。所以我只是在尋找更有效和便捷的方法。

謝謝!

+0

我在_years_中沒有看到Pascal/Delphi。我什至不記得正確的語法。我會嘗試的第一件事是:如果您嘗試用'nil'替換空字符串會發生什麼?如果這樣的話,你可以編寫一個程序來用'nil'替換一個零長度的字符串,然後用這個程序來包裝每個賦值。 – dschulz

+0

@dschulz是的,這是一個很好的建議。但我不知道其他字段類型(如數字,日期等)如何取值爲零。這意味着更多的檢查,但這是一個很好的想法。如果我在這裏得不到合適的解決方案,我想我不得不採用這種方法。感謝您的輸入;) – itsols

回答

1

pgAdmin在其數據可視化窗口小部件中顯示一個空字符串''。 推測這是爲了區別它與默認顯示爲空框的NULL(這可以在首選項中更改)。

如果您想確定,請與psql的輸出進行比較。

相關問題