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', '我们');
在delphi中调用: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;
只要其中一个参数改成中文的,就有问题了。请问该如何解决
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', '我们');
在delphi中调用: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;
只要其中一个参数改成中文的,就有问题了。请问该如何解决
解决方案 »
- tab 时候的问题
- 用ado连接access,如何将一个access文件的表全部复制到另一个access文件中?
- 急啊,如何只让DBGrid中第一条记录,第二列就也是Cell(1,2)的这个单元格的底色变为红,而其他保留啊。
- 怎么样将.wav扩展名的语音文件转化成clp扩展名?
- 在delphi中如何跟踪sql?
- 谁能详细解释一下TBits类的用法?
- 如何阻止listview的垂直滚动条出现,而出现水平滚动条?
- 谁能推荐几个优秀的delphi的论坛?
- 求助给几个读取xml的简单例子
- 为什么呢??
- 关于 delphi 中使用 mssql 中单引号的问题~谢谢了。
- ▲▲▲请问如何完善下面的功能,RichEdit显示GIF动画?▲▲▲
看看这贴有帮助么
http://www.west263.com/www/info/57914-1.htm