首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

异常类型:表达式中 'Replace' 函数未定义,请问替代的语句,排名在最前的正确替代语句直接给全部分

2012-12-30 
错误类型:表达式中 'Replace' 函数未定义,请教替代的语句,排名在最前的正确替代语句直接给全部

错误类型:表达式中 'Replace' 函数未定义,请教替代的语句,排名在最前的正确替代语句直接给全部分
开发工具:delphi 7,数据库:access
语句目的:将access的‘课时’表中的‘时长’字段格式化,如将原来的 45分20秒,转换为45:20。这是我写的语句


  ADOQuery1.SQL.Clear ;
  ADOQuery1.SQL.Add('update 课时 set 时长=REPLACE(REPLACE(时长,''分'','':''),''秒'','''') where 时长 like ''*秒*''');
  ADOQuery1.execsql;



执行以上语句报错:错误类型:表达式中 'Replace' 函数未定义。
但是相应SQL语句在access是正确执行的,网上查到原因:replace 是ACCESS的内部函数,在ADO通过ODBC来访问的时候不可用。
请帮助:有什么替代?办法?请给出具体替代语句

发了两次都被和谐了,说是有敏感字,终于找到可能的敏感字了?看出来没? "替代0办法",呵呵
[解决办法]
procedure TForm1.TranslateClick(Sender: TObject);
  function strReplace(str: string): string;
  begin
    Result:= StringReplace(str,'分',':',[rfReplaceAll]);
    Result:= StringReplace(Result,'秒','',[rfReplaceAll]);
  end;
begin
  with ADOQuery1 do begin
    SQL.Close;
    SQL.Text:='select * from 课时';
    Open;
    First;
    while not Eof do begin
      Edit;
      FieldByName('时长').Value:=  strReplace(fieldbyname('时长').AsString);
      Post;
      Next;
    end;
  end;
end;

热点排行