在SQL中建立一个表,其中一个字段名为“编号”定义为CHAR,在用SELECT查询时,如果该字段中全是数字,如“20030001”,则可查询到相应记录,如该字段中不全是数字,如“ABC2003”,则查询结果返回0,即查询不到记录,请教高手为何,谢谢!

解决方案 »

  1.   

    adoquery.close;
    adoquery.sql.text := 'select * from table1 where 编号=' + QuotedStr('ABC2003');
    adoquery.open;
      

  2.   

    应该是你的查询参数类型不对吧,可能你用成int型的,代码贴出来;
    试试:
    query.sql.add( 'select * from table1 where 编号=''' + edit.text + '''');
    或者
    query.sql.add( 'select * from table1 where 编号 like ''' + edit.text + '''');
      

  3.   

    字段“编号”定义为varChar应该就可以了
      

  4.   

    应该是空格的问题,用RTRIM(Field) 或者定义成VARCHAR。
      

  5.   

    adoquery.sql.text := 'select * from table1 where 编号=''' + QuotedStr('ABC2003') + '''';  OK!你的编号时Char当然条件要用‘’括起来呀。
      

  6.   

    adoquery.sql.text := 'select * from table1 where 编号=''' + QuotedStr('ABC2003') + '''';  OK!
      

  7.   

    adoquery.sql.text := 'select * from table1 where 编号=''' + QuotedStr('ABC2003') + '''';