快速业务通道

关于EJB返回值的解决方案 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
t;jdbc/CoffeesDB"); } catch (Exception e) { System.out.println(e.getMessage()); throw new CreateException(); } }    public RowSet getCoffees() throws SQLException { Connection con = null; ResultSet rs; CachedRowSet crs;    try { con = ds.getConnection("webCustomer", "webPassword"); Statement stmt = con.createStatement(); rs = stmt.executeQuery("select * from coffees"); crs = new CachedRowSet(); crs.populate(rs); // the writer needs this because JDBC drivers // don''t provide this meta-data. crs.setTableName("coffees"); rs.close(); stmt.close(); } finally { if (con != null) con.close(); } return rset; } public updateCoffees(RowSet rs) throws SQLException {    Connection con = null;    try { CachedRowSet crs = (CachedRowSet)rs; con = ds.getConnection("webCustomer", "webPassword"); // moves the changes back to the database crs.acceptChanges(con); } finally { if (con != null) con.close(); } }    // // Methods inherited from SessionBean // public void setSessionContext(SessionContext sc) { this.sc = sc; } public void ejbRemove() {} public void ejbPassivate() {} public void ejbActivate() {} }    //////////////////client端////////////// package example4;    import java.sql.*; import javax.sql.*; import sun.jdbc.rowset.*; import javax.naming.*; import javax.ejb.*; import javax.rmi.*;    class CoffeesClient {    public static void main(String[] args) {    try { // init the bean Context ctx = new InitialContext(); Object obj = ctx.lookup("ejb/Coffees"); CoffeesHome coffeesHome = (CoffeesHome) PortableRemoteObject.narrow(obj, CoffeesHome.class); Coffees coffees = coffeesHome.create(); // get the rowset from the bean CachedRowSet rset = (CachedRowSet)coffees.getCoffees();    // find the Columbian coffee while (rset.next()) { String coffeeName = rset.getString("COF_NAME"); if (coffeeName.equalsIgnoreCase(new String("Columbian"))) { // columbian coffee has gone up 10% rset.updateFloat("PRICE", (float)(rset.getFloat("PRICE") * 1.10)); rset.updateRow(); } }    // finally send the updated back to the bean... System.out.println("Calling update method"); coffees.updateCoffees((RowSet)rset); } catch (Exception e) { System.out.println(e.getMessage()); } } } 例子很简单就不多讲了。 cheers. Robin

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号