环境:delphi6,dbf数据库
目的:从表tb的列path中提取文件名并替换:c:\mydoc\1213\abc.jpg得到abc.jpg
实现:
qsql:='update tb set path=right(path,7)';
query1.sql.add(qsql);
query1.execsql;
结果出错:
invalid use of keyword token: right(path,7)但是这条语句单独运行在sql server环境中则没有问题 

解决方案 »

  1.   

    但这条语句是执行的sql语句啊
      

  2.   

    不同的数据库对函数的支持是不同的;
    你可以试试copy(string,iBginIndex,iEndIndex)
      

  3.   

    update tb set path=copy(path,1,5)这条也出错.
    有高人给出解答吗?
      

  4.   

    query1.sql.clear; 可能少了这句,query1.sql.text:='';这么写也行,如果要用sql.add,就得先清掉以前的SQL
      

  5.   

    query1.close;
    query1.sql.clear;
     好像至少要这样吧,这没工具,没测试。
      

  6.   

    用Adoquery就能用right这个函数了
      

  7.   

    可能是你原来的SqL语句没清空