应用程序在Edit中输入所要查找记录的时间,记录的时间字段存放在CrtDate字段中,
由保存记录时自动产生的时间,格式为年月日时分秒,如:2003-6-10 16:45:48
点击查询按钮,如下处理程序:Query1.SQL.Text :='select ID as 记录号,CrtDate as 采样时间,'+
   'from ccd_test_2.db '+
   'where CrtDate>StrToDateTime(Edit1.text) ';
   Query1.Open;在Edit1中输入2003-6-10 16:49:48(存在这条记录)给出“Capability not supported!”错误提示。尝试了参数法:
Query1.SQL.Text :='select ID as 记录号,CrtDate as 采样时间,'+
   'from ccd_test_2.db '+
   'where CrtDate>:EditDateTime';      
   Query1.Params.ParamValues['EditDateTime']:=EditParameter.text;
   Query1.Open;在Edit1中输入2003-6-10 16:49:48(存在这条记录)给出“Type mismatch in expression!”错误提示。

解决方案 »

  1.   

    Query1.Close;
    Query1.Sql.Clear;
    Query1.SQL.Text :='select ID as 记录号,CrtDate as 采样时间'+
       ' from ccd_test_2.db '+
       ' where CrtDate > :EditDateTime';      
    Query1.ParamByName('EditDateTime').asDatatime:=strtodate(EditParameter.text);
    Query1.Open;
      

  2.   

    Query1.SQL.Text :='select ID as 记录号,CrtDate as 采样时间,'+
       'from ccd_test_2.db '+
       'where CrtDate>'''+StrToDateTime(Edit1.text)+'''';
       Query1.Open;
      

  3.   

    用access
    Query1.SQL.Text :='select ID as 记录号,CrtDate as 采样时间'+
       ' from ccd_test_2.db '+
       ' where CrtDate > ' + '#' + ':EditDateTime' + '#';     用sql server
    Query1.SQL.Text :='select ID as 记录号,CrtDate as 采样时间'+
       ' from ccd_test_2.db '+
       ' where CrtDate > '':EditDateTime''';
      

  4.   

    我用的是database desktop建的数据表