title: Everytime I try to communicate with my database with stored procedures I get this "Cannot perform this operation on a closed dataset"
body: <p>I'm working on a Delphi project with a MS SQL Server database, I connected the database with ADOConnection, DataSource and ADOProc components from Borland Delphi 7 and I added this code in behind:</p>
  
  <pre><code>procedure TForm1.Button2Click(Sender: TObject);
  begin
    ADOStoredProc1.ProcedureName := 'sp_Delete_Clen';
    ADOStoredProc1.Refresh;
    ADOStoredProc1.Parameters.ParamByName('@clenID').Value := Edit6.Text;
    ADOStoredProc1.Active := True;
    ADOStoredProc1.ExecProc;
  end;
  </code></pre>
  
  <p>The component Edit6 is an editbox that takes the ID of the tuple that should be deleted from the database and ADOStoredProc1 is the stored procedure in the database that takes 1 parametar (the ID you want to delete).
  The project runs with no problems, I even got a TADOTable and a DBGrid that load the information from the database, but when I try to delete a tuple from the database using its ID written in the EditBox I get this Error: "Cannot perform this operation on a closed dataset" and the breakpoint of the project is when the application tries to add the value for the 'clenID' parameter.
  Where is my mistake and how to fix it?</p>