日期:2014-05-18  浏览次数:20674 次

为什么不管有没有异常都会执行catch里的代码
public   int   executeUpdate(String   sql)
{
      int   rowCount=0;
      rs=null;
      try
    {
        conn=   DriverManager.getConnection(url,user,password);
        Statement   stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

        rowCount=stmt.executeUpdate(sql);
    }
      catch(SQLException   ex)
    {
          System.err.println( "db,excuteUpdate: "+ex.getMessage());
          System.out.print( "false: ");//输出到客户端
          return   0;
      }
      return   1;
}

这是我定义的javabean里的一段代码。
我再jsp页面调用这个函数进行sql插入记录,
可是不管我有没有插入成功,函数返回值都是0,
那不是意味着不管怎么样都会运行catch{}里的代码吗?
怎么这样的

------解决方案--------------------
如果有执行rowCount=stmt.executeUpdate(sql);
那么当然返回的是1
注册下数据库驱动看看

__________________________________
J2EE技术交流QQ群:6890959
欢迎大家一起来切磋交流..
共同进步..
------解决方案--------------------
catch里的那几句都执行了吗?
你调试过了吗?
输出什么?

System.err.println( "db,excuteUpdate: "+ex.getMessage());
System.out.print( "false: ");//输出到客户端
这两句执行了吗?
------解决方案--------------------
除非try里面有异常,要不肯定不可能运行catch里的语句,你再看看有什么错误没?
------解决方案--------------------
那肯这是try里面有异常了
------解决方案--------------------
那肯这是try里面有异常了
-----------------------
同意
建议在catch里就写个ex.printStackTrace
这样有什么异常就会打出来
------解决方案--------------------
如果你用的是tomcat
若有异常在tamcat目录下的logs文件夹下可以看到
------解决方案--------------------
你用的什么软件?
看有没异常.
------解决方案--------------------
这是我定义的javabean里的一段代码。

-------------------------------

这不应该是JavaBean里的一段代码。
另外,你运行Tomcat是用服务的形式运行还是控制台的方式?如果是以服务的形式运行的,输出会在日至文件里。
------解决方案--------------------
程序没有很大错误啊,肯定是别的地方出错