在Bean中调用oracle存储过程
点击次数:133 次 发布日期:2008-09-19 14:13:40 作者:源代码网
|
源代码网推荐
源代码网整理以下 建立一个登录系统,要求达到以下目的。
源代码网整理以下 1、用户通过Bean来认证以及得到得到用户信息。
源代码网整理以下 2、记录用户登录信息,如用户登录次数,最后登录时间。
源代码网整理以下 3、记录操作日志。
源代码网整理以下 未解决及疑惑的问题:
源代码网整理以下 1、用户登录后的Session是否可以通过Bean来判断。
源代码网整理以下 2、通过Bean调用ORACLE存储过程,返回select后的记录集。
源代码网整理以下 操作步骤:
源代码网整理以下 1、建立用户验证Bean: 软件开发网 www.mscto.com
public boolean checkUser() throws Exception { boolean flag=false; ResultSet rs=conn.executeQuery(getSql()); if(rs.next()){ userID =rs.getString("userID"); userName =rs.getString("userName"); userPWD =rs.getString("userPWD"); userUnit =rs.getString("userUnit"); userLoadTime =rs.getDate("userLoadTime"); userLoadNumeric=rs.getInt("userLoadNumber"); flag=true; } rs.close(); conn.closeConn(); return flag; }
源代码网整理以下 通过返回的值判定用户是否存在。
源代码网整理以下 2、记录用户登录信息:
public void changeLoginInfo(String userID) throws Exception{ String sql="update SystemUserTable set UserLoadTime=sysdate,UserLoadNumber=UserLoadNumber+1 where userID=""+userID+"""; conn.executeUpdate(sql); }
源代码网整理以下 3、记录操作日志:
源代码网整理以下 第一步,建立存储过程
create or replace procedure proc_writeNote( description in varchar2, wName in varchar2, wIP in varchar2 ) is begin insert into Systemnote (Id,Description,Wname,Wip) values(Autoaddid.Nextval,description,wName,wIP); commit; end proc_writeNote;
源代码网整理以下 第二步、建立操作存储过程的方法(重写prepareCall()方法) 软件开发网 www.mscto.com
public CallableStatement prepareCall(String produce){ try { conn = DriverManager.getConnection(DBUrl, UserID, UserPWD); cstmt=conn.prepareCall(produce); } catch (SQLException ex) { System.err.print("prepareCall():"+ex.getMessage()); } return cstmt; }
源代码网整理以下 第三步,执行存储过程
public void writeNote(String description,String wName,String wIP){ String sql="{call proc_writeNote(?,?,?)}"; try { CallableStatement cstmt=conn.prepareCall(sql); cstmt.setString(1, description); cstmt.setString(2,wName); cstmt.setString(3,wIP); cstmt.executeUpdate(); } catch (SQLException ex) { System.out.print("writeNote():"+ex.getMessage()); } } 源代码网推荐
源代码网供稿. |