xinye1230 2017-05-26 00:39 采纳率: 50%
浏览 1220
已采纳

jdbc 测试时出现错误(包括数据库语句)

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 1' at line 1
图片说明
图片说明

@Test
public void testResultet() {
    Connection conn = null;
    Statement statement = null;
    ResultSet rs = null;

    try {
        //1获取Connection
        conn = JDBCTools.getConnection();
        //2获取Statement
        statement = conn.createStatement();
        //3准备sql
        String sql = "SELECT id, name, email, birth" +
        "FROM student WHERE id = 1 ";
        //4执行查询,得到ResultSet
        rs = statement.executeQuery(sql);
        //5处理ResultSet
        if(rs.next()) {
            int id = rs.getInt(1);
            String name = rs.getString("name");
            String email = rs.getString(3);
            Date birth = rs.getDate(4);

            System.out.println(id);
            System.out.println(name);
            System.out.println(birth);
            System.out.println(email);
        }

    } catch (Exception e) {
        e.printStackTrace();
    }finally {
        //6关闭数据库资源
        JDBCTools.relese(rs, statement, conn);
    }

}

不知道上面的提示该怎么改 看着没有错呀 不知道哪里出现问题了 是数据库那里出现问题了 还是测试中的sql语句错了呢?

  • 写回答

3条回答 默认 最新

  • 战在春秋 2017-05-26 00:53
    关注
     String sql = "SELECT id, name, email, birth" +
            "FROM student WHERE id = 1 ";
    

    应该修改为:

     String sql = "SELECT id, name, email, birth" +
            " FROM student WHERE id = 1 ";
    

    否则 birth和FROM就两个单词就连到一起了。

    用心回答每个问题,如果对您有帮助,请采纳答案好吗,谢谢。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器