在Delphi中用AdoQuery的执行Replace函数出错

来源:百度知道 编辑:UC知道 时间:2024/06/19 00:43:33
在Access或Sql Server数据库中直接运行这条语句:
update 表名 set Field=replace(Field, ' ', '')
用于清除字段"Field"中的所有空格。在数据库中直接运行是没有错误的,可是将这条语句放到Delphi的ADOQuery中直接运行则报错,这是什么原因?有什么解决的办法?

这个问题我也遇到过,貌似是DELPHI对SQL语句解析的问题
当时的解决办法是先把数据查出来,再循环这个数据集,用DELPHI的TRIM或REPLACE函数来清除空格。

with adoquery1 do
begin
close;
sql.text := 'update 表名 set 列名=replace(列名, '+#39+' '+#39+', '+#39+#39+')';
execsql;
end;