下面这段代码在运行时报错为什么
update 多费率数据库.dbf
set substring(标识 from 5 for 1)=' '
where substring(标识 from 5 for 1)='H'
请问怎么解决

解决方案 »

  1.   

    对不起我发错了,应该为
    update 多费率数据库.dbf
    set substring(标识 from 1 for 4)
    where substring(标识 from 5 for 1)='H'
      

  2.   

    update有这样的语法吗??
    晕啦!
      

  3.   

    正常来说,substring应该为(a,m.n)
    但是不知道为什么,我这样写不可以,请帮忙解决
      

  4.   

    你这样
    update 表名 set 字段名= substring(字段名,1,4) where 你的条件
    就行了
      

  5.   

    这么写报错
    update 多费率数据库.dbf
    set 标识=substring(标识,1,4)
    where substring(标识,5,1)='H'Invalid user of keyword
    token,1,4)
    where Line Number:2
      

  6.   

    我建议你先不要用delphi测试,先用SQL的查询分析器测试!
    我已经测试过了,没有问题的!你把那个多费率数据库.dbf改成你要更新的表的名字呢???
      

  7.   

    我在SQL的查询分析器测试的,我要更新的表就是多费率数据库.dbf
    和中文的名字会有关系吗?
      

  8.   

    晕啊,你用pubs数据库的authors表试试下面的语句,我都测试了啊。update authors set au_lname = substring(au_lname,1,4) where au_lname='Carson'
      

  9.   

    这个可能是sql语法差别问题
    所以你应该看一下dbf数据库支持什么样的sql语法,各种数据库在有些函数上不一定是那么标准的
      

  10.   

    真受不了了,你要是写成:多费率数据库.dbf,会不错才怪!!
    写多费率数据库的这个表的名字就行啦,你真的让我晕倒了……