调用MYSql存储过程问题。
MySql中定义的存储过程:
CREATE DEFINER=`root`@`localhost` 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;END
call proc_HZChatRecLog ('我们', 'ddfdf', '我们', '192.168.99.100', '我们');procedure TForm1.Button1Click(Sender: TObject);var a, b, c, d: string;begin a := 'addd'; b := '192.168.110.8'; c := 'cccc'; d := '192.168.100.243'; ADOStoredProc1.Parameters.Clear; ADOStoredProc1.ProcedureName := 'proc_HZChatRecLog'; ADOStoredProc1.Parameters.Refresh; ADOStoredProc1.Parameters.CreateParameter('_Sender', ftString, pdInput, 20, a); ADOStoredProc1.Parameters.CreateParameter('_SIP', ftString, pdInput, 15, b); ADOStoredProc1.Parameters.CreateParameter('_Accepter', ftString, pdInput, 20, c); ADOStoredProc1.Parameters.CreateParameter('_AIP', ftString, pdInput, 20, d); ADOStoredProc1.Parameters.CreateParameter('_Msg', ftString, pdInput, 3000, a); ADOStoredProc1.ExecProc;end;