我正在使用ADO組件連接到訪問數據庫。在定義爲寬度爲50的文本的列中,即使實際字符串值包含較少字符,數據傳送文本字段也始終顯示50個字符。該值用空格填充,如果文本字段不夠寬,則看起來它是空的。在dbaware textfield中顯示時用空格填充的值
任何人有任何線索?
感謝, -Vegar
編輯:我用Delphi 2007
我正在使用ADO組件連接到訪問數據庫。在定義爲寬度爲50的文本的列中,即使實際字符串值包含較少字符,數據傳送文本字段也始終顯示50個字符。該值用空格填充,如果文本字段不夠寬,則看起來它是空的。在dbaware textfield中顯示時用空格填充的值
任何人有任何線索?
感謝, -Vegar
編輯:我用Delphi 2007
問題出在創建表時使用Char(50)而不是Varchar(50)。
我仍然認爲應該有一種顯示未填充值的方式,但切換到varchar是可以的。
您使用的是查詢還是表格組件?如果您正在使用查詢,則只需將列名嵌入修剪()。如果沒有,然後使用有問題的字段上的OnGetText事件放入以下代碼
Text := Trim(Text);
如果您正在數據庫中使用char類型,那麼這是正確的。它也取決於數據庫引擎的實現。 – 2009-01-15 12:27:02