TADOStoredProc调用MYSql存储过程,怎么老是报错,难道不兼容。
1.
Proc.Parameters.Items[Index].Value := Value;
2.
proc.Parameters.ParameterByName().value := value;以上两种方式调用都有问题。

解决方案 »

  1.   

    数据类型是否一致是关键.    with sp1 do
         begin
           close;
           Prepared:=false;
           ProcedureName:='cp_jccxkhbh;1';
           Parameters.Refresh;
           Parameters.ParamByName('@khph').Value:=Trim(cxLookupComboBox3.Text);
           Open;
         end;
      

  2.   

    MYSql存储过程这么定义的。PROCEDURE `proc_HZChatRecLog`(IN _Sender varchar(20), IN _SIP varchar(15), IN _Accepter varchar(20), 
      IN _AIP varchar(15), IN _Msg varchar(3000))
    BEGIN
      SET _Msg=replace(_Msg, '&*', '');
      IF RTRIM(_Msg) <> '' THEN
       insert into TABHZChatLog(Sender, SenderIP, Accepter, AccepterIP, Msg, CreateTime) values 
       (_Sender, _SIP, _Accepter, _AIP, _Msg, Now());   
      END IF;
    ENDdelphi这么调用的:
      ADOStoredProc1.ProcedureName := 'proc_HZChatRecLog;1';
      ADOStoredProc1.Close;
      ADOStoredProc1.Prepared := False;
      ADOStoredProc1.Parameters.ParamByName('@Sender').Value := 'Test';
      ADOStoredProc1.Parameters.ParamByName('@SIP').Value := '132323';
      ADOStoredProc1.Parameters.ParamByName('@Accepter').Value := 'aaaaaaa';
      ADOStoredProc1.Parameters.ParamByName('@AIP').Value := '6666666';
      ADOStoredProc1.Parameters.ParamByName('@Msg').Value := 'asdfsdf';
      ADOStoredProc1.ExecProc;
    提示 @Sender not found
      

  3.   

       错了你不知道吗? 存储过程里是什么名字,你就用什么名字,1楼的是mssql的
       
        PROCEDURE `proc_HZChatRecLog`(IN _Sender varchar(20), IN _SIP varchar(15), IN _Accepter varchar(20), 
      IN _AIP varchar(15), IN _Msg varchar(3000))
       
      

  4.   


    试过了,用_SIP, SIP,或是@SIP, 或是@_SIP都不行
      

  5.   

        ADOStoredProc1.Parameters.ParamByName('_Sender').Value := 'Test';
        ......
            proc_HZChatRecLo( )括号里是什么,调用是就用什么
      

  6.   

    跟踪了下。
    ADOStoredProc1.Parameters.count=0
    看了MYSQL不能这样调用存储过程
      

  7.   

    http://topic.csdn.net/u/20101229/14/b43be0da-1d32-40c7-b458-1c078031b002.html看下这个