MSSQL 文字欄位自動補足空白 |
缺席
|
s5633
一般會員 發表:22 回覆:35 積分:21 註冊:2002-04-15 發送簡訊給我 |
請問各位大大:
為何我的文字欄位會自動補空白???
資料庫:MSSQL
資料表:Table1
欄位一:Fld01-> varchar(10)
欄位二:Fld02-> varchar(20)
我如果用以下語句新增資料結果正常
adoquery1.sql.text := 'select * from table1';
adoquery1.open;
adoquery1.append;
adoquery1.fieldbyname('fld01').value := '0001';
adoquery1.fieldbyname('fld02').value := '王大明';
adoquery1.post;
我如果用以下語句新增資料就會自動補足空白
adoquery1.sql.text := 'insert into table1 (fld01, fld02) values (:fld01, :fld02)'
adoquery1.Parameters.ParamByName('fld01').value := '0001';
adoquery1.Parameters.ParamByName('fld02').value := '王大明';
adoquery1.ExecSQL;
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
有可能 AdoQuery1.Parameters.ParamByName('fld02').Value 的 Value 的型態是 Variant 的關係 其他我想不出有任何原因會造成此狀況
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心 |
menfox
一般會員 發表:1 回覆:10 積分:2 註冊:2006-08-14 發送簡訊給我 |
如果我沒記錯的話, 你的作法一與作法二會是相同的結果! 至於在SQL Server 中文字欄位會不會主動補空白應該是與你在資料庫中所宣告的資料型態有關, 若你使用的是 char(n), 這個資料型態會自動補滿所宣告的長度 (n) . 如果你使用的是 varchar(n), 就不會自動補滿空白了!
------
Hi! It's Menfox! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |