用query查询sqlserver2000数据库中表T_JC_BuMen_Dy,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with query1 do
    begin
      close;
      sql.clear;
      sql.add('select * from T_CG_GYszl_Dy') ;
      sql.add('where C_GYSbianma like:BIanMa');  
      Prepare;
      ParamByName('BianMa').asstring:='001%';
      Open
    end;
end;
提示错误信息:‘could not find object’(注意:query的request值为true)
而从另一从前编写的程序中拷贝一段代码到此窗体(与此代码相同,以前用好用的)
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
   with query1 do
   begin
     close;
     sql.clear;
     Sql.Add('Select * From T_cg_gyszl_dy');
      Sql.Add ('Where C_GysBianMa like:Bianma ');
     Prepare;
     ParamByName('BianMa').asstring:='001%';
     Open
   end;
end;
则在执行时,按钮1执行报错,按钮2执行成功
注意:表名和字段名绝对正确!
请问各位是什么方面的问题:
1、query的设置问题?
2、bde的设置问题?(别告诉我用ADO)
3、sql server问题?
在此希望对此问题展开讨论,言者有分,不够再加。希望讨论出问题的症结,而不用其他方法解决来回避问题。谢谢!

解决方案 »

  1.   

    补充:表名错误,不是T_JC_BuMen_Dy,而是T_cg_gyszl_dy'。
      

  2.   

    hrp123(转学DELPHI),bluemeteor(挂月@渴望飞翔之驴@)  :在BitBtn2中不加空格也通过的。
    esu(ESU) :错误发生在prepare。如果不加prepare则错误发生在open上。
      

  3.   

    那怪了.......帮你up一下难道para大小写敏感?应该不会阿
      

  4.   

    request为true时,query中引用特定字段名区分大小写,你检查一下
      

  5.   

    request为true时,query中引用特定字段名区分大小写,你检查一下
      

  6.   

    谢谢neilwq(啄木鸟),谢谢各位!问题已经解决!