下面是我要执行的一段语句,结果提示:至少有一个参数未被指定。错在那里了?
  sql:='Select * Into [Text;Database='+fp+'].'+fn+' From carinfo where cardate>='+adate1+' and cardate<='+adate2+' and zhuitao=否';
  Tdmmain.ADOConn1.Execute(sql);//fp和fn分别为文件路径和文件名
如果是这样:
  sql:='Select * Into [Text;Database='+fp+'].'+fn+' From carinfo where cardate>='+adate1+' and cardate<='+adate2;
  Tdmmain.ADOConn1.Execute(sql);//fp和fn分别为文件路径和文件名
就不会提示出错,但导出来的却是零行数据,可查询是两条的!

解决方案 »

  1.   

    sql:='Select * Into [Text;Database='+fp+'].'+fn+' From carinfo where cardate>='+adate1+' and cardate<='+adate2+' and zhuitao=''否''';
      

  2.   

    sql:='Select * Into [Text;Database='+fp+'].'+fn+' From carinfo where cardate>='+adate1+' and cardate<='+adate2;
     你的cardate是什么类型啊?可能是类型不对吧,如是字符串就要这样了:
    cardate>='+''''+adate1+''''+'
      

  3.   

    我的cardate的类型是时间/日期型的,adate1,adate2是字符串。
    penet(永远) :可以运行过去了,但还是查不出记录来。可是为什么否要加“”?
      

  4.   

    sql:='Select * Into [Text;Database='+fp+'].'+fn+' From carinfo where cardate>='''+adate1+''' and cardate<='''+adate2+''' and zhuitao=''否''';
    因为'zhuitao'是字符串.
    或是:
    sql:='Select * Into [Text;Database='+fp+'].'+fn+' From carinfo where cardate between '''+adate1+''' and '''+adate2+''' and zhuitao=''否''';
      

  5.   

    还是不行,出错提示:标准表达式中数据类型不匹配。
    我的数据库是access的。
      

  6.   

    sql:='Select * Into [Text;Database='+fp+'].'+fn+' From carinfo where cardate>='+adate1+' and cardate<='+adate2+' and zhuitao='+#39+'否'+#39;