try用的不对,应该将try{}catch(){}放在函数里面。你直接就写在类里面了,这样不对。

解决方案 »

  1.   

    package opendb;
    import java.sql.*;
    public class opendb
    {
       //String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
       //String sConnStr="jdbc:odbc:fee";String sDBDriver;
    Connection sConnStr;
    Connection conn;
      ResultSet rs;
           public opendb(){
           init();      
             try{Class.forName(sDBDriver);
                   }catch(java.lang.ClassNotFoundException e){
                           System.err.println("opendb():"+e.getMessage());}
                    }
           public ResultSet executeQuery(String sql)
           {
                   rs=null;
                   try
                   {       conn=DriverManager.getConnection(sDBDriver,"sa","1");
                           Statement stmt=conn.createStatement();
                           rs=stmt.executeQuery(sql);}
                   catch(SQLException ex){
                   System.err.println("aq.executeQuery:"+ex.getMessage());}
                   return rs;
                   }
    void init(){
      try{
    sDBDriver="jdbc:microsoft:sqlserver://202.118.69.60:fee";
    sConnStr=DriverManager.getConnection(sDBDriver,"sa","1");
    conn=null;
    rs=null;
    }catch(Exception en){
    System.err.println(en);
    }
    }
    }
      

  2.   

    s:No suitable driveropendb():jdbc:microsoft:sqlserver://202.118.69.60:feeaq.executeQuery:No suitable driver每个try都有异常,好像是没连上
    我已经在数据端设了系统dsn:fee
    为什么?
      

  3.   

    加上这个:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    你没有指明你的jdbc
      

  4.   

    package opendb;
    import java.sql.*;
    public class opendb
    {
       //String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
       //String sConnStr="jdbc:odbc:fee";String sDBDriver;
    Connection sConnStr;
    Connection conn;
      ResultSet rs;
           public opendb(){
           init();
             try{Class.forName(sDBDriver);
                   }catch(java.lang.ClassNotFoundException e){
                           System.err.println("opendb():"+e.getMessage());}
                    }
           public ResultSet executeQuery(String sql)
           {
                   rs=null;
                   try
                   {       conn=DriverManager.getConnection(sDBDriver,"sa","1");
                           Statement stmt=conn.createStatement();
                           //rs=stmt.executeQuery(sql);
                           stmt.executeUpdate(sql);
                   }
                   catch(SQLException ex){
                   System.err.println("aq.executeQuery:"+ex.getMessage());}
                   return rs;
                   }
    void init(){
      try{
        try{
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        }catch(java.lang.ClassNotFoundException e)
           {System.err.print("ClassNotFoundException"+e.getMessage());
        }
    sDBDriver="jdbc:microsoft:sqlserver://202.118.69.60:fee";
    sConnStr=DriverManager.getConnection(sDBDriver,"sa","1");
    conn=null;
    rs=null;
    }catch(Exception en){
    System.err.println("s:"+en.getMessage());
    }
    }
    }改成这样还是有错
    s:No suitable driveropendb():jdbc:microsoft:sqlserver://202.118.69.60:feeaq.executeQuery:No suitable driver
      

  5.   

    Class.forName(sDBDriver);
    这个 是你的jdbc驱动???
    你的错误显示是:驱动不匹配
    用 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    替换上面那个
    或者删掉Class.forName(sDBDriver);
      

  6.   

    String url="jdbc:odbc:myDSN";
      String query = "SELECT * FROM a1 ";
      try
      {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      Connection con = DriverManager.getConnection(url,"userid","password");
      Statement stmt = con.createStatement();
      //ResultSet rs = 
      stmt.executeQuery(query);
      ResultSet rs=stmt.getResultSet();
     
      while(rs.next())
      {
      System.out.println("name: "+rs.getString(1)+
      ", phone: "+ rs.getString(2));
      }
      rs.close();
      stmt.close();
      con.close();
      }
      catch(SQLException ex)
      {
      }
      

  7.   

    package opendb;
    import java.sql.*;
    public class opendb
    {
       //String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
       //String sConnStr="jdbc:odbc:fee";String sDBDriver;
    Connection sConnStr;
    Connection conn;
      ResultSet rs;
           public opendb(){
           init();
             try{Class.forName(sDBDriver);
                   }catch(java.lang.ClassNotFoundException e){
                           System.err.println("opendb():"+e.getMessage());}
                    }
           public ResultSet executeQuery(String sql)
           {
                   rs=null;
                   try
                   {       conn=DriverManager.getConnection(sDBDriver,"sa","1");
                           Statement stmt=conn.createStatement();
                           //rs=stmt.executeQuery(sql);
                           stmt.executeUpdate(sql);
                   }
                   catch(SQLException ex){
                   System.err.println("aq.executeQuery:"+ex.getMessage());}
                   return rs;
                   }
    void init(){
      try{
        try{
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        }catch(java.lang.ClassNotFoundException e)
           {System.err.print("ClassNotFoundException"+e.getMessage());
        }
    //sDBDriver="jdbc:microsoft:sqlserver://202.118.69.60:fee";******这两个无论用哪个
    sDBDriver="jdbc:odbc://202.118.69.60:fee";                 ******都出错
    sConnStr=DriverManager.getConnection(sDBDriver,"sa","1");
    conn=null;
    rs=null;
    }catch(Exception en){
    System.err.println("s:"+en.getMessage());
    }
    }
    }分别为
    1。//sDBDriver="jdbc:microsoft:sqlserver://202.118.69.60:fee";
    s:No suitable driveropendb():jdbc:microsoft:sqlserver://202.118.69.60:feeaq.executeQuery:No suitable driver
    2。sDBDriver="jdbc:odbc://202.118.69.60:fee";s:[Microsoft][ODBC 驱动程序 管理器] 未发现数据源名称并且未指定默认驱动程序opendb():jdbc:odbc://202.118.69.60:feeaq.executeQuery:[Microsoft][ODBC 驱动程序 管理器] 未发现数据源名称并且未指定默认驱动程序