CREATE PROCEDURE cc 
@name char
AS
select * from a where name = @name
GOprocedure TForm1.Button1Click(Sender: TObject);
begin
  self.ADOQuery1.Close;
  self.ADOQuery1.SQL.Clear;
  self.ADOQuery1.SQL.Add('execute cc :@name ');
  self.ADOQuery1.Parameters.ParamByName('@name').Value := edit1.Text;
  self.ADOQuery1.Open;为什么我这个存储过程拿不出数据,请指教,我这条记录有数据的

解决方案 »

  1.   

    CREATE PROCEDURE cc 
    @name varchar(20)
    AS
    select * from a where name = @name
    GO
      

  2.   

    self.ADOQuery1.SQL.Add('exec cc @name=:aa ');
      self.ADOQuery1.Parameters.ParamByName('aa').Value := edit1.Text;
      

  3.   

    存储过程错了,改改
    CREATE PROCEDURE cc 
    @name varchar(20)
    AS
    exec('select * from a where name ='+ @name)
    GO
      

  4.   

    最樓上的回答很正確了,了解一下Char與Varchar的區別及你數據表Name的類型定義
      

  5.   

    按照genphone_ru(票票)的方法可以了
    谢谢各位
     (  ) 信誉:100