2012-01-11 100 views
-2

我建立一个DAO工厂为我的项目我缺少一个return语句

这是类:

package Dao; 

import Interfaces.IDAOProject; 
import datapackage.DbObject; 
import java.util.ArrayList; 
import type.programma.Oefening; 


public class DAOProject extends DbObject implements IDAOProject { 

    @Override 
    public ArrayList<Oefening> load(Oefening o) { 

     try{ 
    String sql = "LOAD FROM Oefeningen set Code = " + o.getCode() + " WHERE Code = " + o.getCode(); 
    OpenConnection(); 
    stmt = conn.createStatement(); 
    rs = stmt.executeQuery(sql); 
    } 
    catch(Exception e){ 
    System.out.println(e.getMessage());} 


    } 
} 

现在,他给出了一个错误@public class DAOProject extends DbObject implements IDAOProject { 他缺少return语句如何我能解决这个问题吗?

+0

指定函数返回的东西('ArrayList的'),所以其返回 - 如果你不知道这意味着什么,请先阅读一本好书! – Nim 2012-01-11 10:02:53

+0

或者声明你的方法为“public void”或者返回一个ArrayList Manish 2012-01-11 10:03:00

+0

需要根据你的方法签名返回'ArrayList '否则改变签名为void – 2012-01-11 10:03:12

回答

2

你已经宣布你的方法

public ArrayList<Oefening> load(Oefening o)

你不是应该返回ArrayList

+0

我需要什么代码才能返回它? – user1138629 2012-01-11 10:14:37

+0

返回负载(o); – user1138629 2012-01-11 10:17:00

0

你的load(...)方法应该总是返回一些ArrayList,或者抛出一个异常。在你的代码中你有一个try-catch语句,它不会返回任何东西。一个解决办法是重新抛出同样的例外,如果你不知道如何更好地处理它在这一点上,像这样:

catch(Exception e){ 
    System.out.println(e.getMessage());} 
    throw e; 
}