myeclipse中使用select语句查询mysql中的汉字,就是查不出来,也没有乱码,单独操作数据库时能查出来

select*fromdepartmentwherebinarydept_namelike'%"+name+"%';如上sql语句,其中name为客户端传过来的值,想从数... select * from department where binary dept_name like '%"+name+"%';
如上sql语句,其中name为客户端传过来的值,想从数据库中模糊查询出相匹配的记录,在另外一张jsp页面中显示出来。
现在直接在数据库中运行此语句能查询出结果,但为什么在myeclipse中,将其放入dao层编译运行时查不出记录,结果为空?
编译时我用system.out输出name接收的值时也能查询出指定汉字,也不是乱码,可显示结果的jsp页面就是取不到值?求解!!!
展开
 我来答
irenjie
2011-12-07 · TA获得超过241个赞
知道答主
回答量:35
采纳率:0%
帮助的人:27万
展开全部
老兄啊 当然有问题啦
Connection conn=DBUtil.getConnection();
PreparedStatement ps;
String sql="select * from department where dept_name like '%"+name+"%'";
ps = conn.prepareStatement(sql);
System.out.println("sql---"+sql);
ResultSet rs=ps.executeQuery();
System.out.println(rs);
while(rs.next()){

在这里你使用了预编译prepareStatement,但在在写SQL语句的时候你又用了字符串拼接,如果 你要使用字符串拼接,那么你就直接将这个查询的操作写到一个方法里面,然后将name的值当作参数传递进来。如果你想使用预编译,这里你就应该将name写成?,然后用ps.set(1,value)。我分析你的原因就是,你用了预编译却没有用set()方法赋值,用了字符串拼接却没有参name的值进来,最后like '%"+name+"%'"中的name始终是空的,所以查询不到结果!
jj1552714
2011-12-06 · TA获得超过291个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:128万
展开全部
1.首先你打印出name看看是否有值
2.然后你把sql语句打印出来看看是否是正常的
3.你有没有使用hibernate框架呢?好像其中一个版本有一个bug。查询中文就查不出来。如果是的你再问我。
追问
name有值,我把打印出的sql语句复制到navaicat for mysql查询的话能查询出来。
我这用的是JSP+JAVABEAN啊
追答
String sql="select * from department where dept_name like '%"+name+"%'";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
1.首先你看看你的数据库连接是不是null
2.尝试使用上面的代码来执行sql
3.看看是不是执行过程中有什么异常
4.debug一下代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
超级奶爸头子
2011-12-06 · TA获得超过668个赞
知道小有建树答主
回答量:1111
采纳率:0%
帮助的人:611万
展开全部
你的%号有问题。因为单独在数据库里没问题,它不涉及java语言。但是到java语言里,这么就是java和数据库打交道了。建议用预处理
追问
能否把代码写出来呢,我不太会啊,谢谢了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孝友为朋知C
2011-12-06 · 超过27用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:48万
展开全部
上代码~~研究下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
adaihao
2011-12-06 · 超过10用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:34.3万
展开全部
打印下看能查出来结果集不.
更多追问追答
追问
不能啊,如果查字符或字符串就能正常显示
追答
能接受到name的值,你的select语句放到数据库又正常,
肯定就是你结果集这的问题,在仔细看看.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式