DataModule1.ADOQueryapp.SQL.Add('select  *  from  人员工作记录');  
DataModule1.ADOQueryapp.SQL.Add('where  比赛日期=04-2-18');  
 
大家看看这句子有什么错误么?我运行后始终查询不出来符合的记录,可实际上数据库中有两条记录是当天的。为什么查询不出来呢?  
 
 另外奇怪的是access数据库中日期字段的数值是04-2-18这种短日期格式为什么不能改为长的呢?到底怎么查询日期呢?    

解决方案 »

  1.   

    DataModule1.ADOQueryapp.SQL.Add('select  *  from  人员工作记录');  
    DataModule1.ADOQueryapp.SQL.Add('where  比赛日期=''04-2-18''');
      

  2.   

    '人员工作记录' 和 'where  '之间加一个空格。
    日期最好用between语句来查询,用它可以不关心格式
      

  3.   

    另外,象比赛日期这种字符型的东西,只能用param参数型来做查询
      

  4.   

    我测试过MS SQLServer ,写成下面这样可以,不过数据库里的日期型的字段值必须是时间部份为:00:00:000.000才可以查出来
    DataModule1.ADOQueryapp.SQL.Add('select  *  from  人员工作记录');  
    DataModule1.ADOQueryapp.SQL.Add('where  比赛日期=''04-2-18''');