你的实体Bean的ejbFindByPrimaryKey()方法代码是什么样的?
返回Integer类型值吗?

解决方案 »

  1.   

    容器管理持久性没有ejbFindByPrimaryKey()方法啊,也不用定义这个方法啊。
      

  2.   

    不会没有人知道吧!create()可以,说明连接数据库和部署都没有问题啊
      

  3.   

    finder 方法都会 throw 出 finderException 要求调用放进行捕获。当按照指定的条件没有找到任何记录时,就会抛出这个异常,这代表查询结果是空,然后这样你可以在catch(FinderException e) {}中进行如果查询结果为空的时候的处理,这是正常现象,不是程序写错了。
      

  4.   

    我的数据库中明明有记录,怎么会是空呢,记录中有customerid=1这条记录啊。并且我 System.out.println(customerid);打印出来的数据也是1啊。并且数据库中的字段customerid的类型为数值型的。
      

  5.   

    不会是缺少EJB-QL吧,findByPrimaryKey()应该不需要啊!就是需要也应该是Jbuilder自动生成啊!
      

  6.   

    刚才在网上搜索到这样一些资料
    everything works fine and all the rows are displayed. However if I use this:while(resultset.next())
    {
    System.out.println(rs.getString("COLUMN_NAME_1"));
    System.out.println(rs.getString("COLUMN_NAME_2"));//am accessing the first column again 
    System.out.println(rs.getString("COLUMN_NAME_1"));
    }then this exception is thrown:java.sql.SQLException: No data found
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6212)
    at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3266)
    at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5377)
    at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:320)
    at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:376)
    同我的错误类似。
    难道是CMP在取数据字段的时候出现反复吗?
      

  7.   

    很可能是数据类型问题:getInt()!
      

  8.   

    CMP所有的东西我们都不需要关心啊,我估计是jdbc-odbc桥的问题,明天换成MySql试试,看到底行不行。
      

  9.   

    果然是jdbc-odbc的问题,转成MySql就没有问题了。马上结帐,多谢各位。
      

  10.   

    jdbc-odbc我也见到了和你一样的问题,今天才知道是driver 的问题,以前用jsp+sqlserver的
    时候就知道getString("COLUMN_NAME_1")),象这样的语句是要按照表的结构(字断的顺序依次get,而且只能一次),今天果然又出现了
    ms的东西真tmd shit!!!!!!!!!!