有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java结果集不返回输出

我试图运行这段代码,但没有输出。但是,当我从终端运行SQL查询时,它是有效的。请帮忙

    Statement stmt = conn.createStatement(); 
    ResultSet rset1=stmt.executeQuery("SELECT ShowTime FROM Movie M, screens s WHERE M.MovieID = s.MovieID AND M.MovieID= 01");

    while(rset1.next()){
        //String tite=(rset1.getTimestamp("title"));
        System.out.println(rset1.getString("Showtime"));
        //text_39.append((rset1.getString("Showtime"))+"\n"); 
        }

共 (2) 个答案

  1. # 1 楼答案

    如果M.MovieID是数字数据类型,01将被截断为1,这将无法与字符串数据类型'01'进行正确比较。您可能需要将'01'包装在tics中,使其看起来像WHERE M.MovieID = s.MovieID AND M.MovieID= '01'

    我在这里的想法是,驱动程序和DB引擎正在进行一些隐式转换,这可以防止语法错误,但在运行驱动程序时不会得到任何结果

    为了更好地回答这个问题,我需要知道电影表和屏幕表中的数据类型是什么

  2. # 2 楼答案

    问题是ResultSet.getString(String)不区分大小写。将值更改为System.out.println(rset1.getString("ShowTime"));应该可以解决您的问题