无法检索日期

时间:2008-09-30 05:37:00

标签: java dynpro

我正在使用web Dynpro java ..   我创建了一个无状态会话bean,其中我创建了用于从我的字典表中插入和检索记录的业务方法。 我的表有两个java.sql.Date类型的字段 我创建的Web服务适用于insertRecords(), 但对于showRecords(),我无法获取日期..

这是我申请的以下代码..

public WrapperClass[] showRecords() 
{
    ArrayList arr = new ArrayList();

            WrapperClass model;

            WrapperClass[] modelArr = null;

            try {
                InitialContext ctx = new InitialContext();
                DataSource ds = (DataSource)ctx.lookup("jdbc/SAPSR3DB");
                Connection conn = ds.getConnection();

                PreparedStatement stmt = conn.prepareStatement("select * from TMP_DIC");

                ResultSet rs = stmt.executeQuery();

                while(rs.next())
                {
                     model  = new WrapperClass();

                    model.setTitle(rs.getString("TITLE"));
                    model.setStatus(rs.getString("STATUS"));
                    model.setSt_date(rs.getDate("START_DATE"));
                    model.setEnd_date(rs.getDate("END_DATE"));

                    arr.add(model);
                    //arr.add(rs.getString(2));
                    //arr.add(rs.getString(3));
                }
                modelArr = new WrapperClass[arr.size()];
                for(int j=0;j<arr.size();j++)
                {

                    model = (WrapperClass)arr.get(j);
                    modelArr[j] = model;
                }
                stmt.close();
                conn.close();
            } catch (NamingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            arr.toArray(modelArr);
            return modelArr;
}

任何人都可以帮忙.. 谢谢 安基塔

2 个答案:

答案 0 :(得分:2)

您是否尝试使用getTimestamp()而不是getDate()?当您尝试将其作为日期时,您会得到什么错误?

答案 1 :(得分:0)

我使用另一种方法。

我创建了bean以及服务,我在其中创建了包含操作数据库表的查询的函数。

现在,在Java Wb Dynpro中,我提出了类似的内容:

try {
            ctx = new InitialContext();

            Object o = ctx
                    .lookup("sc.fiat.com/um~pers_app/LOCAL/UserServices/com.fiat.sc.um.pers.services.UserServicesLocal");
            userServices = (UserServicesLocal) o;

} catch (Exception e) {
            logger.traceThrowableT(Severity.ERROR, e.getMessage(), e);
            msgMgr.reportException(e);
        }

在wdDoInit方法中。我也像这样宣布

private UserServicesLocal userServices;

对象。

现在我可以操作我的数据库表调用服务类的方法......