这句改为:'select * from dhhm1 where dhhm like "876533%"'

解决方案 »

  1.   

    'select * from dhhm1 where dhhm like ''876533%'''
      

  2.   

    'select * from dhhm1 where dhhm like 8765331'是对的,
    改成'select * from dhhm1 where dhhm like "8765331"'就错误
    dhhm字段类型是文本型
      

  3.   

    如果不行的话,这样试一试;
    with query do
    begin
      close;
      sql.clear;
      wql.add('select * from dhhm1 where dhhm like=:a')
      parambyname(a).asstring:= ''876533%''
      open;
    end;
      

  4.   

    好象有语法错误,
    parambyname(a)这句
      

  5.   

    在表dhhm1中dhhm是否定义为字符型?
    查询语句是在程序代码中书写还是在控件中书写?若为字符型:
    1 查询语句在程序代码中书写
    格式为:
      query1.close;
      query1.sql.clear;
      query1.sql.add('select * from dhhm1 where dhhm like ''876533%'' ');
      query1.open;
    2 查询在控件中的书写
      在query组件中的sql属性中加入 select * from dhhm1 where dhhm like '876533%' 即可。注意在语句中书写号码左右应为两个单引号
      

  6.   

    在程序中书写的,
    是字符型,
    如上所写,
    query1.close;
      query1.sql.clear;
      query1.sql.add('select * from dhhm1 where dhhm like "876533%" ');
      query1.open;但是显示错误
      

  7.   

    'select * from dhhm1 where dhhm like "8765331"'也显示错误,
    只有'select * from dhhm1 where dhhm like 8765331'能显示一条记录
      

  8.   

    这样:select * from dhhm1 where dhhm like '8765331%'
      

  9.   

    ???
    parambyname(a).asstring:=//有错;
    那么可能是我的词写错了;
    不过,这样的确可以的;
    你看提示,一定能成功的;
      

  10.   

    但我用access打开看到的是文本型的
      

  11.   

    这样写吧
    query1.close;
      query1.sql.clear;
      query1.sql.add('select * from dhhm1 where dhhm like "876533%" ');
      query1.open;
      

  12.   

    我觉得错误可能不是出在sql语句中,可能是出在你的程序中,你可以在SQl Explorer中先执行sql语句,如果可以执行成功则sql语句肯定没有错误,你再找程序中的错误!