Mysql 存储过程,传递中文参数问题
insertintotb_tmp(id,company_id,bank_rate,bank_cap)SELECTRELATION_ID,company_id,bank_r...
insert into tb_tmp (id,company_id,bank_rate,bank_cap)
SELECT RELATION_ID, company_id,bank_rate,bank_cap from p_rate_relation
WHERE (COMPANY_ID = c_id AND BANK_NAME = bankName);
这个bankName 是我传入的参数 ,比如农业银行 我这样写的话就查不出来,加单引号也不行,如果bankName传入的时候是英文就可以 展开
SELECT RELATION_ID, company_id,bank_rate,bank_cap from p_rate_relation
WHERE (COMPANY_ID = c_id AND BANK_NAME = bankName);
这个bankName 是我传入的参数 ,比如农业银行 我这样写的话就查不出来,加单引号也不行,如果bankName传入的时候是英文就可以 展开
1个回答
展开全部
应该是编码问题。输入
set names gbk;
这是使你输入查询取数据的传输的用的编码。
不行的话可能你原先存的时候编码就不对了。
所以就先drop你当前这数据库,然后set names gbk; ,再建数据库和表。再测试下应该就可以。
当然还要保证你的server client 底层存数据的默认编码是utf8..至少要gbk,如果默认是latin1要改下。具体在配置文件my.ini里改 default-character-set=utf8 这个你可以搜索一下具体怎么改
set names gbk;
这是使你输入查询取数据的传输的用的编码。
不行的话可能你原先存的时候编码就不对了。
所以就先drop你当前这数据库,然后set names gbk; ,再建数据库和表。再测试下应该就可以。
当然还要保证你的server client 底层存数据的默认编码是utf8..至少要gbk,如果默认是latin1要改下。具体在配置文件my.ini里改 default-character-set=utf8 这个你可以搜索一下具体怎么改
更多追问追答
追问
不是参数编码问题 我用dbforge调试过了 参数都是对的 不管是农业银行还是'农业银行'全部无法查询
追答
那你查查表里面有没有COMPANY_ID = 传入id AND BANK_NAME = '农业银行'的记录
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询