function ZXPjs(Rowtemp: string) : string;
...
        Query1.Close;
        Query1.DatabaseName:='CPZDB';
        Query1.SQL.Clear;
        Query1.SQL.Add('select * from cxzd where TRIM(Name)="'+VTrainModal+'"');
        Query1.Open;
...
end;我想在函数ZXPjs里用Query1,但是报错“undeclared identifier:'Query1'”
请各位帮帮忙解决!谢谢!

解决方案 »

  1.   

    没有声明Query1,或没有引用Query1所在窗体
    可以把Query1当作一个参数传进来function ZXPjs(Rowtemp: string;Query:TADOQuery) : string; 
    ... 
            Query.Close; 
            Query.DatabaseName:='CPZDB'; 
            Query.SQL.Clear; 
            Query.SQL.Add('select * from cxzd where TRIM(Name)="'+VTrainModal+'"'); 
            Query.Open; 
    ... 
    end; 
      

  2.   

    看樣子你這個 query1  在屬於某一個類,但你的函數只是一般的函數,並不是類的範轉,請帶上類名
      

  3.   


    順便提個醒,Query1.DatabaseName:='CPZDB';  這種方法不可取。最好用一個 TDataBase 統一管理下連接。
      

  4.   

    看看Query1放哪了,把窗体变量名加上,形如:
    frmQuery.query1
      

  5.   

    你的这个函数不属于任何类,所以应用Query1时加上他的owner,即form或者dm
    例如:Query1放在form下,就写form1.Query1.即可
      

  6.   

    starluck  你好,你是新手,怎么用TDataBase 統一管理呢?
      

  7.   


    我不是老手也不是新手。哈哈 Query1.Database.DatabaseName :=  Database1.DatabaseName;
     Query1.SessionName:= Database1.SessionName;