線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4066
推到 Plurk!
推到 Facebook!

MSSQL 文字欄位自動補足空白

缺席
s5633
一般會員


發表:22
回覆:35
積分:21
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-04 18:21:53 IP:220.130.xxx.xxx 未訂閱
請問各位大大: 為何我的文字欄位會自動補空白??? 資料庫: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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-07-29 00:44:09 IP:61.57.xxx.xxx 未訂閱

有可能 AdoQuery1.Parameters.ParamByName('fld02').Value Value 的型態是 Variant 的關係

其他我想不出有任何原因會造成此狀況


===================引 用 文 章===================
我如果用以下語句新增資料就會自動補足空白 adoquery1.sql.text := 'insert into table1 (fld01, fld02) values (:fld01, :fld02)' adoquery1.Parameters.ParamByName('fld01').value := '0001'; adoquery1.Parameters.ParamByName('fld02').value := '王大明'; adoquery1.ExecSQL;

------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心
傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心
menfox
一般會員


發表:1
回覆:10
積分:2
註冊:2006-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-08-31 18:34:52 IP:211.21.xxx.xxx 未訂閱

如果我沒記錯的話, 你的作法一與作法二會是相同的結果!

至於在SQL Server 中文字欄位會不會主動補空白應該是與你在資料庫中所宣告的資料型態有關, 若你使用的是 char(n), 這個資料型態會自動補滿所宣告的長度 (n) . 如果你使用的是 varchar(n), 就不會自動補滿空白了!


===================引 用 文 章===================
請問各位大大: 為何我的文字欄位會自動補空白??? 資料庫: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;

------
Hi! It's Menfox!
系統時間:2024-04-25 8:39:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!