当前位置: 代码迷 >> J2SE >> 连接MYSQL条件查询不到结果,该如何解决
  详细解决方案

连接MYSQL条件查询不到结果,该如何解决

热度:97   发布时间:2016-04-23 20:39:03.0
连接MYSQL条件查询不到结果
新手学习JAVA,连接连接通MYSQL,带WHERE条件的查询,不能查询到结果【实际上数据库里有】,不带where可以显示所有结果,同时带WHERE的语句直接在MYSQL中是可以查询到结果的,到底什么原因,新手郁闷中,请指教!
代码如下:两种方法都不能查询到
Class.forName("com.mysql.jdbc.Driver");
cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/stu","root","root");
String sql = "select * from student where xingming = '小王'";
//ps = cn.prepareStatement(sql);
//rs = ps.executeQuery();
sm = cn.createStatement();
rs = sm.executeQuery(sql);

注意:
           1. 确定数据库里是有xingming=小王    的信息
           2.String sql1 = "select * from student“ 是可以显示所有信息的
          3. 数据库是MYSQL的
------解决方案--------------------
直接在数据库里执行查询:select * from student where xingming = '小王'看能不能找到结果。

八成是数据库编码有问题
------解决方案--------------------
看看你字段有没有写错
------解决方案--------------------
小王要加英文的引号
------解决方案--------------------
引用:
小王要加英文的引号

有没有报错?
------解决方案--------------------
很可能是数据库编码问题,你可以先进入到mysql,然后输入show variables like 'character%';查看数据编码,编码不是utf-8或者gbk的话,就容易出乱码
------解决方案--------------------
应该是数据库连接编码的问题吧,从这里是“小王”,到那里可能是乱码了……
jdbc:mysql://localhost:3306/XXX?useUnicode=true&characterEncoding=UTF-8
连接的时候数据库编码没有设置的话试着设置一下。
  相关解决方案