请把你的return strmsg 放在倒数第2个和第3个“}”之间,就没有问题了。

解决方案 »

  1.   

    你把return strMsg放在方法的最后面就可以了!因为不论是否有没有catch exception,你的方法都应该有个String的返回值。
      

  2.   

    不能只在try里返回值,因为如果出错,就得不到返回值了。
      

  3.   

    要保证在任何时候都有返回值才行,你这么做这是在正常的情况下会有,一旦抛了Exception,就没有返回值了。明白?
      

  4.   

    如此定义就可以了。
    String strMsg = null;
      

  5.   

    在method declaration 后声明String strMsg = null;
    然后在最后return strMsg 就可以了。
    package conn;
    import java.sql.*;
    public class  DBcon
    {
       //定义变量
       Connection conn = null;
      // ResultSet rs = null;
       String strMsg;  public String  DBconn(String strSql,String username,String password)
      {
         ResultSet rs = null;
         String strMsg = null;
         //设定jdbc连接驱动程序
         try
         {
            Class.forName("sun.jdbc.odbc.JdboOdbcDriver");
         }
         catch(java.lang.ClassNotFoundException e)
         {
            e.printStackTrace();
            
            //这里最好做相应的退出处理,否则下边还会有错误的。    
    }
         
         
        //
        try
        {
        //取得数据库的连接,其中要求ODBC数据源已经建好
          conn = DriverManager.getConnection("jdbc:odbc:Uesr","","");
        //声明Statemate 用来执行Sql 语句
          Statement stmt = conn.createStatement();
        //定义返回串!
        rs =  stmt.executeQuery(strSql);
        if (rs.next())
        {
            strMsg = username+",你已经成功登录!";
        }
        else
        {
         strMsg = "登录失败,用户名和密码不一致,请重新登录!";
        }
        //返回的结果数据值!
          
        }
        catch(SQLException ex)
        {
          ex.printStackTrace();
        }
        return strMsg;
      }}
      

  6.   

    我把return strMsg; 放到你们说的位置,语法虽然没有错误了,但提示报错说我在  conn = DriverManager.getConnection("jdbc:odbc:Uesr","","");  这里 少抛一个异常/  怎么回事?  各位朋友帮忙!
      

  7.   

    直接在最后添加一段代码:
    ..........
    finally{
        return strMsg;
    }这样不论你的代码在哪发生异常,都会调用这句来返回strMsg的
      

  8.   

    还是不行! 提示同样的错误DBconn.java:16: unreported exception java.sql.SQLExcepti
    clared to be thrown
             conn = DriverManager.getConnection(ConnStr);
                                 ^
      

  9.   

    简单一点,不要在一个class里面使用几个try …… catch(),一个try还不够你用?如果想要捕捉仔细一点,多catch几个不就得了?
    干嘛用两个try ……catch块?
    系统提示你少捕捉了一个异常,干脆用catch(Exception e)全部包括了得了