[英]Code in if statement suddenly leaves
我有一个if语句,我已经用断点检查了我的程序正在输入if语句。 我可以一直执行我的语句,直到到达prepare语句行,然后我的if语句似乎无缘无故地破裂,并且不在我的prepare语句下执行任何代码。 我已经搜索了我的问题,但找不到任何解决方案。
if(entry != null && subNum.equals(1) && rs.getRow() == 1)
{
String blogID = rs.getString(1);
String timeStamp = rs.getString(2);
java.util.Date date= new java.util.Date();
String tStamp = new Timestamp(date.getTime()).toString();
query = "INSERT INTO blog_entries VALUES (?, ?, ?, ?, ?)";
ps = con.prepareStatement(query);
ps.setString(1, entry);
out.print(entry);
ps.setString(2, timeStamp);
out.print(timeStamp);
ps.setString(3, tStamp);
out.print(tStamp);
ps.setString(4, entry);
out.print(entry);
ps.setString(5, blogID);
out.print(blogID);
ps.executeUpdate();
out.println("Submit Successful");
}
印刷品仅用于调试目的,任何帮助将不胜感激。
我猜con
如果在第一次使用时就中断了, con
就不会启动,您能确认它在使用的行上不为null吗? 如果是,则捕获并发布异常,例如:
if(entry != null && subNum.equals(1) && rs.getRow() == 1)
{
String blogID = rs.getString(1);
String timeStamp = rs.getString(2);
java.util.Date date= new java.util.Date();
String tStamp = new Timestamp(date.getTime()).toString();
query = "INSERT INTO blog_entries VALUES (?, ?, ?, ?, ?)";
try{
if (con != null)
{
ps = con.prepareStatement(query);
ps.setString(1, entry);
out.print(entry);
ps.setString(2, timeStamp);
out.print(timeStamp);
ps.setString(3, tStamp);
out.print(tStamp);
ps.setString(4, entry);
out.print(entry);
ps.setString(5, blogID);
out.print(blogID);
ps.executeUpdate();
} else {
// print error and break }
}
catch (Exception e){
//print error message
}
out.println("Submit Successful");
}
如果您是“随机地”突破一个块,则可能意味着您正在抛出异常。 如果尝试创建PreparedStatement失败,则可能是SQL无效或无法建立连接。
Aws @Marko指出,但是,您的SQL语句看起来确实有效。 因此,我将检查con
对象。 但是,您应该能够检查异常的堆栈跟踪以获取更多有用的信息,而不仅仅是猜测。
prepareStatement引发SQLException,因此请用try / catch包围它,以查看是否是您的问题。
http://docs.oracle.com/javase/6/docs/api/java/sql/Connection.html#prepareStatement(java.lang.String )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.