用ResultSet rs = statement.executeQuery("SELECT * FROM access_text WHERE name='"+nametemp+"'")查询,nametemp为字母能执行,如果是

weekease 2002-06-02 06:05:02
关于数据库查询的问题:用ResultSet rs = statement.executeQuery("SELECT * FROM access_text WHERE name='"+nametemp+"'")查询,nametemp为字母能执行,如果是汉字就不行,而且只能认出头两个字?
例:“张学友”只能认出“张学”两个字!
...全文
222 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andrawu 2002-06-03
数据库中name值是张学友还是张学?
回复
cqxhhe 2002-06-02
当nametemp参数是request.getParameter()
从上页的得到的话,会有乱码问题
你不妨试试:
在网页中加入:
<%@page contentType="text/html; charset=gb2312"%>

在从页面得到汉字参数时要进行转换
String HH_cusname=request.getParameter("Cusname"); //客户名参数
HH_cusname=new String(HH_cusname.getBytes("iso8859-1"),"gb2312");//转换

如果不是的话
可以在
ResultSet rs = statement.executeQuery("SELECT * FROM access_text WHERE name='"+nametemp+"'")
后面输出sql语句:
<%=SELECT * FROM access_text WHERE name='"+nametemp+"'"%>
直接在数据库工具下执行一下(如sql PLUS),看看sql语句有没有问题再说
回复
aleckru 2002-06-02
什么叫汉字只能认出头两个字?你的nametemp是什么类型的?张学友”只能认出“张学”两个字 是出现在什么地方?查询出的结果还是生成的SQL语句?
回复
weekease 2002-06-02
我看过了!没有问题!我用Delphi也用这个数据库的!
回复
zijianyi 2002-06-02
看看是不是你的数据库里的name定义的类型和大小有问题
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告