你添加数据时的SQL语句时怎么写的?另外BES应该是BEA吧。能不能让我看看你的ejbCreate方法的实现?

解决方案 »

  1.   

    谢谢你 我用的是Borland Enterprise Server5.1下面是我的ejbCreate方法:
    public java.lang.String ejbCreate(String str1 String str2) throws CreateException {   Connection connection = null;
       PreparedStatement statement = null;
       setstr1(str1);
        try {
         connection = getConnection();
         statement = connection.prepareStatement("INSERT INTO DEMO(str1, str2) VALUES (?, ?)");
         statement.setString(1, str1);
         statement.setString(2, str2);
         if (statement.executeUpdate() != 1) {
           throw new CreateException("Error adding row");
         }
             return str1;
        }
       catch(SQLException e) {
         throw new EJBException("Error executing SQL INSERT INTO DEMO(str1, str2) VALUES (?, ?): " + e.toString());
       }
       finally {
         try {
              if (statement !=null) {
                 statement.close();
              }
              if (connection !=null) {
                 connection.close();
              }
           } catch (SQLException sqe) {
              throw new EJBException("ejbCreate() : Could not create: " );
           }
        }
      }
      

  2.   

    补充:其实我是可以用bmp1.0是实现我的程序的。不过我想用一下2.0。可惜一直不成功。代码是jbuild自动生成的bmp1.0,然后我把1。0代码copy到2。0下。
    奇怪的事情是,多个字段的表时,只能查询不能插入。
      

  3.   

    奇怪阿!我把ejbCreate改为
    public java.lang.String ejbCreate(String ckStsrno) throws CreateException {
       return "12";
      }
    抛出的异常一样
      

  4.   

    public java.lang.String ejbCreate(String str1 String str2) throws CreateException {
    你的参数str1和str2怎么没有用‘,’号分隔?String str1,String str2
      

  5.   

    --代码是jbuild自动生成的bmp1.0,然后我把1。0代码copy到2。0下。--那么你的相关的XML文件修改了吗?
      

  6.   

    1。 setstr1(str1);
    ???是对字符串的处理吗?
    这样的处理是没有效果的!
    2。你捕捉一下是ejbcreate()方法的错还是别的异常?
      

  7.   

    我的理解是这样的:bmp1.0 与2。0应该没有不同。
    应该是在ejbcreate()方法上出的错。并且与ejbcreate()方法里边的程序无关。
    可能是我在ejb上的理论没掌握。但我实在看不出来是那里没写好。或没配置(xml)好
      

  8.   

    setstr1(str1);是这样的
    我定义的主健是str1 。
    setstr1是个方法