DBEXPRESS文字欄位有問題 |
缺席
|
cmj1498
一般會員 發表:5 回覆:8 積分:2 註冊:2007-04-20 發送簡訊給我 |
delphi 2007資料庫主打dbexpress[DBX4]
delphi 2008聽李維先生說不支援bde 最近在delphi 2007上使用dbexpress以取代bde 使用MSSQL2000 發現一個問題: String格式之欄位若資料不足欄位長度時會自動於字串之後補上空白字元 假設有一文字欄位 NAME 其型態 CHAR(10) 或VARCHAR(10) 其中一筆記錄內容為 ABCD 用BDE,ADO等取出來 其長度為都為4 用DBEXPRESS取出來,其長度為10,ABCD 6個空白 因此使用dbexpress在dbedit元件上修改記錄時會造成輸入不正常,新增是正常的 對使用BDE的人,事情大條了因為DELPHPI 2008沒有BDE 請問高手,如何解決此一問題 請問DBEXPRESS這個問題如何解決, |
danny
版主 發表:100 回覆:522 積分:595 註冊:2002-03-11 發送簡訊給我 |
我使用 Interbase 好像沒有這個問題 ...
可能是 dbexpress 對不同 database 有所差異吧 ? 還是 Localecode 設定的關係 ? ===================引 用 cmj1498 文 章=================== delphi 2007資料庫主打dbexpress[DBX4] delphi 2008聽李維先生說不支援bde 最近在delphi 2007上使用dbexpress以取代bde 使用MSSQL2000 發現一個問題: String格式之欄位若資料不足欄位長度時會自動於字串之後補上空白字元 假設有一文字欄位 NAME 其型態 CHAR(10) 或VARCHAR(10) 其中一筆記錄內容為 ABCD 用BDE,ADO等取出來 其長度為都為4 用DBEXPRESS取出來,其長度為10,ABCD 6個空白 因此使用dbexpress在dbedit元件上修改記錄時會造成輸入不正常,新增是正常的 對使用BDE的人,事情大條了因為DELPHPI 2008沒有BDE 請問高手,如何解決此一問題 請問DBEXPRESS這個問題如何解決,
------
將問題盡快結案也是一種禮貌! |
Petersno
一般會員 發表:5 回覆:12 積分:8 註冊:2003-07-11 發送簡訊給我 |
CHAR Auto Trim Space 的問題是 MSSQL + DBX4 現有的 Bug, 裝了 December 2007 Update 還是沒有改善.
主因是 TSQLConnection.Parameters 未支援 TrimChar 屬性. 這個問題我很早就在 Newsgroup 反映過了,CodeGear 建議把所有 CHAR 欄用 VARCHAR 取代.但我認為這是治標不治本. CodeGear 要我到 QC 網頁建議改善,我試過,不得其門而入,不知道為何這個QC要搞得那麼複雜! 另外,諸位使用MSSQL的先進不知有無試過 2007 的 FindKey 功能?如果是 CHAR 型態的資料,而且資料沒有填滿欄位的長度,也就是右方有Space時,用 FindKey 去找資料,如論有無加上 Trim() 都會找不到,這也是一個不小的 Bug ! |
Petersno
一般會員 發表:5 回覆:12 積分:8 註冊:2003-07-11 發送簡訊給我 |
CHAR Auto Trim Space 的問題是 MSSQL + DBX4 現有的 Bug, 裝了 December 2007 Update 還是沒有改善.
主因是 TSQLConnection.Parameters 未支援 TrimChar 屬性. 這個問題我很早就在 Newsgroup 反映過了,CodeGear 建議把所有 CHAR 欄用 VARCHAR 取代.但我認為這是治標不治本. CodeGear 要我到 QC 網頁建議改善,我試過,不得其門而入,不知道為何這個QC要搞得那麼複雜! 另外,諸位使用MSSQL的先進不知有無試過 2007 的 FindKey 功能?如果是 CHAR 型態的資料,而且資料沒有填滿欄位的長度,也就是右方有Space時,用 FindKey 去找資料,如論有無加上 Trim() 都會找不到,這也是一個不小的 Bug ! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |