按MYSQL的文挡, 如果当前连接不断而且不删除临时表, 临时表应该一直存在的。
是有点奇怪

解决方案 »

  1.   

    程序代码太长了,我举个例子吧:
    首先创建临时表,然后再访问这个临时表:
     txtsql:='create temporary table if not exists Tmp_Table ';
     txtsql:=txtsql+'SELECT c.DiseaseType,b.DiseaseName,COUNT(a.cattlenumber) AS MYCOUNT  ';
     txtsql:=txtsql+'FROM  DiseaseCureTable a,DiseaseCode b,DiseaseType c ';
     txtsql:=txtsql+'WHERE a.DiseaseCode=b.DiseaseCode and b.DiseaseTypeCode=c.DiseaseTypeCode and ';
     txtsql:=txtsql+'a.CureDate between :BeginDate and :EndDate  ';
     txtsql:=txtsql+'group by c.DiseaseType,b.DiseaseName';
     pquery.Close;
     pquery.SQL.Clear;
     pquery.SQL.Text:=txtsql;
     pquery.ParamByName('begindate').AsDate:=begindate;
     pquery.ParamByName('enddate').AsDate:=enddate;
     pquery.Prepared:=true;
     try
        pquery.ExecSQL();
        pquery.close;
        pquery.sql.clear;
        pquery.sql.add('select * from Tmp_Table ');
        pquery.Prepared:=true;
        pquery.open;
        while not pquery.eof do
        begin
    //有时在执行下面这个判断语句时就会提示字段不存在.
           if pquery.fieldbyname(DiseaseType).asstring='aaa' then
               ....
           pquery.next;
        end;
      

  2.   

    yhbttfile(小兵) 我给出了一个例子
      

  3.   

    在MYSQL中是区分大小写的,可能是这个原因吧!