adoquery1.sql中已有语句
select top 1 <column> from tabeladoquery2.sql中已有语句
select <column1>,datepart(yy,:Parameters),datepart(qq,:Parameters),count(<column1>)
from tabel
where datepart(yy,<column>)=datepart(yy,:Parameters),datepart(qq,<column>)=datepart(qq,:Parameters)
group by <column1>
<column>为datetime;Unit中procedure 中的语句
adoquery1.Open;
adoquery2.Close;
adoquery2.Parameters.ParamValues['Parameters']:=(adoquery1.Fields[0].Value);
adoquery2.Open;
adoquery2.First;
问题是:
在object inspector中adoquery2.active可为true;
但在Unit中adoquery2.open处出错。提示为  语法或冲突
请问为什么??

解决方案 »

  1.   

    你debug一下,看一下在adoquery2.open之前,那个SQL语句是什么样的。
      

  2.   

    adoquery2.Close;
    adoquery2.Parameters.ParamValues['Parameters']:=(adoquery1.Fields[0].Value);
    adoquery2.Open;
    参数错误,你每次用之前先清再加试试。
      

  3.   

    把adoquery1.Fields[0].Value改成adoquery1.Fields[0].asString
    在adoquery2.Close;后加上ADOQUERY2.sql.clear
      

  4.   

    <column>为datetime,所以把adoquery1.Fields[0].Value改成adoquery1.Fields[0].asString是不行的。还有如果ADOQUERY2.sql.clear
    后面还要加ADOQUERY2.sql.add()的语句。我认为你取的参数名可能有问题,
    Parameters是否和delphi中的有冲突!
      

  5.   

    我最后发现,错的原因在于我把parpard放为true 
    真是怪