函数返回结果集,进入另一个类--JAVA

时间:2014-02-12 12:12:45

标签: java function return resultset

我是Java新手。我正在做这件事它会产生错误,请让我知道为什么我要进入这个函数 dispatchUncaughtException 。我做对了吗?如果我不是这样,那么这件事怎么可能呢?

这是 dataCollection类

public class dataCollection {

    private ResultSet my_rs1 =  null;

    public ResultSet mydata()
    {
        try
        {
            String get_data_query = "SELECT * FROM my_table ";
            my_rs1 = cn.stmt.executeQuery(aggregator_data_query);

        } catch(SQLException SQLex)
        {
            System.out.println("SQL Error: " + SQLex.getMessage());
        }

        return my_rs1;        

    }

}

这是callClass //我们称之为ResultSet

public class callingClass
{
    dataCollection dc = new dataCollection;
    private ResultSet my_call_data = dc.mydata();
    while(my_call_data.next())
    {
        //Code Here
    }
}

修改

Exception in thread "Thread-2" java.lang.NullPointerException
    at sms_sender.dataCollection.aggregator_data(dataCollection.java:29)
    at sms_sender.threadClass.run(threadClass.java:27)

3 个答案:

答案 0 :(得分:1)

更正您的参数:

String get_data_query = "SELECT * FROM my_table";
my_rs1 = cn.stmt.executeQuery(get_data_query);

修改 步骤2 => 检查数据库连接是否正常工作。我认为你的stmt是空的或不正确的。

答案 1 :(得分:0)

代码应该在java中处于函数或块中。

    public class callingClass
    {
        dataCollection dc = new dataCollection;
        private ResultSet my_call_data;

        public void showData(){
        my_call_data = dc.mydata();
         while(my_call_data.next()){
            //Code Here
         }
       }

    }

答案 2 :(得分:0)

发生的事情是您没有捕获异常,因此Thread.UncaughtExceptionHandler会尝试转发此异常。

首先尝试捕获异常并给我们堆栈跟踪:

catch (Exception e) {
  e.printStackTrace(); // if you are not using a logger like log4j just print it.
}

然后我建议您阅读有关Exceptions

的更多信息

最后,由于通知类名称应以大写字母开头,请参阅Naming Conventions

好读:)

PS:我没注意到你的代码不在方法/函数中,但我认为这只是一个糟糕的编辑,因为该类甚至无法编译。