当ADOStoredProc中参数为中文时报错,如何处理
当ADOStoredProc中参数为中文时如何处理?
数据库是mysql
存储过程为
CREATE PROCEDURE sp_save_patient(prmName char(24), prmMedno char(24))
BEGIN
insert into tbl_patient values(prmName, prmMedno);
END
BCB中的代码为
ADOStoredProc->Close();
ADOStoredProc->ProcedureName = "sp_save_patient";
ADOStoredProc->Parameters->Clear();
ADOStoredProc->Parameters->CreateParameter("@prmName", ftString, pdInput, 30, NULL);
ADOStoredProc->Parameters->CreateParameter("@prmMedno", ftString, pdInput, 30,NULL);
ADOStoredProc->Parameters->ParamByName("@prmName")->Value = "张三";
ADOStoredProc->Parameters->ParamByName("@prmMedno")->Value = "0001";
ADOStoredProc->ExecProc();
以上代码出错,如果参数“@prmName”为英文就可以,
ADOStoredProc->Parameters->ParamByName("@prmName")->Value = "zhangsan";
怎么解决