分不够!还有一个贴子
http://www.csdn.net/expert/topic/660/660107.xml?temp=.5770075

解决方案 »

  1.   

    应该是你的JavaBean:guestbook.hello错误,没有与数据可进行连接。
    如果还有错的话,你把guestbook.hello源代码贴上。
      

  2.   

    我也同意tin_dra 
    你可以在ResultSet RS = workM.executeQuery("SELECT * FROM news");
    设置断点调试
      

  3.   

    package guestbook;import java.sql.*;public class  hello{
        String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
        String sConnStr = "jdbc:odbc:news";
        Connection conn = null;
        ResultSet rs = null;    public  hello() {
    try {
                Class.forName(sDBDriver);
    }
    catch(java.lang.ClassNotFoundException e)  {
    System.err.println("hello(): " + e.getMessage());
    }
        }    public ResultSet executeQuery(String sql) {
       rs = null;
            try {
    conn = DriverManager.getConnection(sConnStr);
             Statement stmt = conn.createStatement();
             rs = stmt.executeQuery(sql);
                    conn.close();
            }
            catch(SQLException ex) {
    System.err.println("aq.executeQuery: " + ex.getMessage());
            }        return rs;
        }    public void executeInsert(String sql){
            try{
                conn = DriverManager.getConnection(sConnStr);
                Statement  stmt = conn.createStatement();
                stmt.executeUpdate(sql);
                stmt.close();
                 conn.close();
                }
            catch(SQLException ex){
                System.err.println("sql_data.executeUpdate:"+ex.getMessage());
                 }
        }
        }这是我的源程序!帮忙看看吧!各位老大!
      

  4.   

    错误应该在workM中,executeQuery操作得到一个null的RS~
      

  5.   

    String sConnStr = "jdbc:odbc:news";
    你这里的news是你的数据库名吗?必须填写的是数据库名而不是表名。
    并且你的executeQuery()和executeInsert()函数中的
    conn = DriverManager.getConnection(sConnStr);
    stmt = conn.createStatement();
    可以放在构造函数中,在前面定义Statement stmt=null。这样不用每次调用executeQuery()和executeInsert()都连接数据库。