procedure Tmainform.Button1Click(Sender: TObject);
var
 pl :tparam;
begin
 query1.Params.Clear;
  pl := query1.Params.CreateParam(ftstring,'l_moon',ptunknown);
  pl.AsString := '2';
  query1.sql.clear;
  query1.SQL.Add('select * from fytable');
  query1.sql.add('where p_moon=:l_moon');
  query1.open;
end;fytable是access里的表,p_moon是表里的字段,上面程序运行以后报告 "field 'pl' is of an unknown type" 如果把 paramscheck设为false就报告"could not find object"
我靠,who can help me?thank you

解决方案 »

  1.   

    try this:
    procedure Tmainform.Button1Click(Sender: TObject);
    begin
      query1.sql.clear;
      query1.SQL.Add('select * from fytable');
      query1.sql.add('where p_moon=:l_moon');
      query1.ParamByName('l_moon').AsString := '2';
      query1.open;
    end;
      

  2.   

    楼上的,不行呀,完了完了.不知是水平问题还是DELPHI的问题?自己看还是后者居多
    who can help me?
      

  3.   

    procedure Tmainform.Button1Click(Sender: TObject);
    begin
     query1.Params.Clear;
      query1.sql.clear;
      query1.SQL.Add('select * from fytable');
      query1.sql.add('where p_moon=:l_moon');  
      query1.Params.clear;
      query1.Params.CreateParam(ftstring,'l_moon',ptinput);
      query1.parambyname('l_moon').asstring:='2';
      query1.open;
    end;这样应该可以,try again
      

  4.   

    经过我不懈的努力,我终于试出来了,唉,居然在这种小问题上栽了跟头,水平太差了
    好好检讨一下,dsdn的兄弟们,请以后多多指教,我爱大家
      

  5.   

    当然是你的Delphi水平差了,Delphi在这方面做的很好了。
    检查理的Query的ParamCheck是否是True。
      

  6.   

    guorui_wh(Re),真是高手,舒服你,咋样给分给您?