ADO的问题(100分)

  • 主题发起人 philipliu
  • 开始时间
P

philipliu

Unregistered / Unconfirmed
GUEST, unregistred user!
用ADO连SQL SERVER,用ADOSQLQUERY打开一个表,表中为CHAR类型的字段在编辑时有空格,
怎样去掉空格呢?
 
trim
or
use varchar
 
但用了Trim后不能保存啦。。。。
 
我的办法是把字段类型改成vChar
 
philipliu:什么意思T?rim后不能保存啦。。。。真的吗?
 
字段类型不要用char,用varchar就不会有这个问题了。
 
philipliu:Trim后不能保存什么意思?说明白!Trim可以呀
 
不可能吧?
 
char和varchar有区别,可以参见sql server的帮助
 
在三层中还有区别的,用varchar时还必须将ResolveToDataSet设为true,否则,还是会填满空格。
C/S中没试过。
 
例如:
select trim(gono) as gono from good
那gono是AS出来的字段,ADO中不能保存了。。
 
这样能行吗:
ADODataSet1.CommandText:='select gono from good';
ADODataSet1.open;
ADODataSet2.fieldbyname('yourfield').asstring:=trim(adodataset1.fieldbyname('gono').asstring);
 
那不是每次滚动纪录时都要这样弄一下吗???不是办法。。
 
你不是要用查出的字段值去增加另一表的字段值吗??
滚动记录当然不需要;
不懂你要干什么???
 
最好的办法是改用varchar,如果你用char,系统会自动加空格的
 
保存在库中的去空格的方法只有改用varchar,Char类型字段宽度固定,不够的肯定要补上空格
当然取出时人为的trim也可以, 但是多麻烦??


 
采用上述帖子的没错。
来自:djdsz, 时间:2001-4-19 8:41:06, ID:508867
在三层中还有区别的,用varchar时还必须将ResolveToDataSet设为true,否则,还是会填满空格。
C/S中没试过。
我以前这样实验成功过。

 
同意樓上的意見但得補充一點﹐改為varchar后還要用
update table set field=rtrim(field) 進行清除原來帶有空格的值
 
多人接受答案了。
 

Similar threads

回复
0
查看
864
不得闲
回复
0
查看
580
不得闲
回复
0
查看
685
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
顶部