query1.close;
query1.sql.clear;
query1.sql.add('select * from 记录表');
query1.sql.add('where 表名=a2003-12-01');
query1.open;
在数据库中有‘记录表’,表中也有这个记录,
系统总是说有错误,我用where 表名=[a2003-12-01]也不行。
请问怎么回事,?
回答就给分,不够在给。希望详细点,

解决方案 »

  1.   

    应该是:
    query1.sql.add('select * from 记录表');
    query1.sql.add('where 表名='+'''a2003-12-01'''');
      

  2.   

    如果你的数据库是access的话 那么需要在日期的前后加#号的其实建议你用datetimepicker来实现的 直接和它的值比较就好了
      

  3.   

    query1.sql.add('select * from [记录表]');  // 表名加上[]
      

  4.   

    应该是:
    query1.sql.add('select * from 记录表');
    query1.sql.add(' where 表名='+'''a2003-12-01''');
      

  5.   

    query1.sql.add('where 表名='+#39+'a2003-12-01'+#39);
    这样也可以
      

  6.   

    'select * from 记录表 where 表名=a2003-12-01'.
    如果表名为的类型为字符的就加双引号。
    'select * from 记录表 where 表名="a2003-12-01"'.
    我想楼主那个“表名”是不是指字段名呢?