conn=DriverManager.getConnection(sConnStr);
stmt=conn.createStatement();rs1=stmt.executeQuery("select * form TabEqpInf");
少stmt

解决方案 »

  1.   

    记得处理异常
    public static void main(String args[])
    -->
    public static void main(String args[]) throws Exception
    或者
    rs1=executeQuery("select * form TabEqpInf");
    System.out.println(rs1.getString(1));
    -->
    try {
    rs1=executeQuery("select * form TabEqpInf");
    System.out.println(rs1.getString(1));
    }catch(Exception e){
    e.printStackTrace();
    }
      

  2.   

    executeQuery是个非静态函数,不能在main方法中直接调用。
    即便是在executeQuery加上static ,必定也是错误百出。因为你需要把每个类属性都要设为静态变量。我重新改了一下你的类:
    import java.io.*;
    import java.sql.*;
    public class Bpu_ConnectDB
    {
    private static String sDBDriver=null;
    private static String sConnStr=null;
    private Connection conn;
    private Statement stmt;

    public Bpu_ConnectDB(String sDBDriver,String sConnStr)
    {
    try
    {
    this.sConnStr=sConnStr;
    this.sDBDriver=sDBDriver;
    Class.forName(sDBDriver);
    }
    catch(ClassNotFoundException ce)
    {
    System.out.println("SQLException:"+ce.getMessage());
    }
    }
    public ResultSet executeQuery(String sql)
    {
    ResultSet rs=null;
    try
    {
    conn=DriverManager.getConnection(sConnStr);
    stmt=conn.createStatement();
    rs=stmt.executeQuery(sql);
    }
    catch(SQLException e)
    {
    System.out.println("sqlexception:" +e.getMessage());
    }

    return rs;
    }
    public void dataDestory()
    {
    try
    {
    stmt.close();
    conn.close();
    }
    catch(Exception ex)
    {
    System.err.println("aq.executeQuery12" + ex.getMessage());
    }
    } public static void main(String args[])
    { String db_driver="sun.jdbc.odbc.JdbcOdbcDriver";
    String db_connection="jdbc:odbc:bpumdb";
    ResultSet rs1;
    try{
    Bpu_ConnectDB db = new Bpu_ConnectDB(db_driver,db_connection);
    rs1=db.executeQuery("select * form TabEqpInf");
    System.out.println(rs1.getString(1));
            }finally{
    db.dataDestory();
    }
    }
    }
      

  3.   

    ResultSet rs1;
    这个地方只申明了一个变量,没有给变量赋值,所以编译会出错。
    ResultSet rs1=null;
    编译就不会出错了。但是这个ResultSet的初值从哪儿来的就是你自己来给了。
      

  4.   

    另外异常也没有捕获。try...catch
      

  5.   

    1.executeQuery()方法不是静态方法,你必须先定义一个Bpu_ConnectDB类, songbo_pp(皮皮) 就已经帮你改掉这个错误了!
    2.你执行完查询语句以后,直接就rs.getString(1)是得不到数据的,你必须先rs.next()
      

  6.   

    public static void main(String args[])
    { String db_driver="sun.jdbc.odbc.JdbcOdbcDriver";
    String db_connection="jdbc:odbc:bpumdb";
    ResultSet rs1;
    try{
    Bpu_ConnectDB db = new Bpu_ConnectDB(db_driver,db_connection);
    rs1=db.executeQuery("select * form TabEqpInf");
    //System.out.println(rs1.getString(1));
                               while(rs.next()){
                                  System.out.println(rs.getString(1));
                               }
            }finally{
    db.dataDestory();
    }
    }