Bug #15174 bug whan i try to coll stored procedure in
Submitted: 23 Nov 2005 5:45 Modified: 26 Dec 2005 8:58
Reporter: musef habra Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.0.16 OS:Windows (win XP)
Assigned to: Assigned Account CPU Architecture:Any

[23 Nov 2005 5:45] musef habra
Description:
bug whan i try to coll stored procedure in 
mysql5.0.16
by output variable in delphi7 language

by using dbexpress or corelab library.

How to repeat:
this is my stored procedure statment

DELIMITER $$

DROP PROCEDURE IF EXISTS `accounts1`.`ddd` $$
CREATE PROCEDURE `ddd`(out d int)
BEGIN
     SELECT COUNT(*) INTO d FROM acc;
END $$

DELIMITER ;

and this is my coll from delphi7

procedure TMainForm.Button1Click(Sender: TObject);
var
  SQLstmt: String;
  stmtParams: TParams;
begin
  stmtParams := TParams.Create;
  try
    stmtParams.CreateParam(ftInteger, 'd', ptInput);
    stmtParams.ParamByName('d').AsInteger :=0;
    SQLstmt :='call ddd(:d)';
    adm.SQLConnection.Execute(SQLstmt,stmtParams);  <==== Error

    Showmessage(stmtParams.ParamByName('d').asstring);

  finally
    stmtParams.Free;
  end;
end;

and error message is

SQL Server Error: OUT or INOUT argument 1 for routine accounts1.ddd is not a variable.
[23 Nov 2005 6:32] Jorge del Conde
Hi!

The problem seems to be with your stored procedure rather than mysql itself:

mysql> CREATE PROCEDURE `ddd`(out d int)
    -> BEGIN
    ->      SELECT COUNT(*) INTO d FROM acc;
    -> END $$
ERROR 1418 (HY000): This routine has none of DETERMINISTIC, NO SQL, or READS SQL
 DATA in its declaration and binary logging is enabled (you *might* want to use
the less safe log_bin_trust_routine_creators variable)
mysql>
[24 Nov 2005 18:34] musef habra
I make test for colling procedure from "MySQL Query Browser "
and it was working good 
but whane itry to do this from delphi i have this problem.
[26 Nov 2005 8:58] Vasily Kishkin
Could you please say why you use ptInput in stmtParams.CreateParam() instead of ptOutput? As far as I can understand you declared parameter (d) in procedure as OUT.
[27 Dec 2005 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".