我正在尝试运行此代码,但没有输出。但是当我从终端运行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");
}
答案 0 :(得分:0)
如果M.MovieID是数字数据类型,01将被截断为1,这将无法与字符串数据类型' 01'你可能需要包装你的' 01'在抽搐中,它看起来像WHERE M.MovieID = s.MovieID AND M.MovieID= '01'
我的想法是驱动程序和数据库引擎正在进行一些隐式转换,这会阻止语法错误,但会导致您在通过驱动程序运行时没有得到任何结果。
为了更好地回答这个问题,我需要知道MovieID在Movie表和屏幕表中的数据类型。
答案 1 :(得分:0)
问题是ResultSet.getString(String)
不区分大小写。将值更改为System.out.println(rset1.getString("ShowTime"));
可以解决您的问题