通用数据库操作BEAN
package pkgCDB;
import Java.text.*; import java.util.*; import java.sql.*;
public class clsCDB { String sDBDriver = ""; String sConnStr = ""; String sHint = ""; ResultSet rs = null; Connection conn = null; Statement stmt = null;
public String getHint() { return sHint; }
public void setDBDriver(String s) { sDBDriver = "" + s; }
public String getDBDriver() { return sDBDriver; }
public String getConnStr() { return sConnStr; }
public void setConnStr(String s) { sConnStr = "" + s; }
public ResultSet getResultSet() { return rs; }
//Initialize the database public boolean Initialization(String dbDrive,String dbConn) { sDBDriver = dbDrive; sConnStr = dbConn; return Initialization(); }
public boolean Initialization() { try { Class.forName(sDBDriver); sHint = "Initialization sucessfully"; return true; } catch(java.lang.ClassNotFoundException e) { sHint = "Initialization : " + e.getMessage(); return false; } }
//A common function perhaps usable public String chkStr(String inStr) { StringBuffer result = new StringBuffer( ""); char cc;
if (inStr != null) { for (int i = 0; i < inStr.length(); i++) { cc = inStr.charAt(i); if (cc == ´\´´) { result.append(´\´´); } result.append(cc); } }
return result.toString(); }
//execute a SQL statement with recordset returned public ResultSet executeQuery(String sql) { rs = null; try { conn = DriverManager.getConnection(sConnStr); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); } catch(SQLException ex) { sHint = "executeQuery: " + ex.getMessage(); } return rs; }
//execute a SQL statement without returning recordset public boolean executeUpdate(String sql) { try { conn = DriverManager.getConnection(sConnStr); stmt = conn.createStatement(); stmt.executeUpdate(sql); return true; } catch(SQLException ex) { sHint = "executeUpdate: " + ex.getMessage(); return false; } }
//Close connections public boolean closeConn() {
try { if (rs!=null) rs.close(); if (stmt!=null) stmt.close(); if (conn!=null) conn.close(); return true; } catch(SQLException ex) { sHint = "closeConn: " + ex.getMessage(); return false; } } }
测试用JSP文件
<%@ page language="java" import="java.sql.*" %> <%@ page import = "pkgCDB.clsCDB"%> <jsp:useBean id="CommonDBBean" class="pkgCDB.clsCDB" scope="session"/>
<html> <head><title>Common Database Bean Test</title></head> <body> <font size=4> <% if ( (request.getParameter("DBDriver") == null) // (request.getParameter( "ConnStr") == null) // (request.getParameter( "SQLStr") == null) ) { % > <form method=get> Input DBDriver: <input type=text name=DBDriver value="sun.JDBC.odbc.JdbcOdbcDriver"> <BR> Input Connection String: <input type=text name=ConnStr value="jdbc:odbc:testBean">
Input SQL Query: <input type=text name=SQLStr value="select * from jobs"> <BR> <input type=submit value="Submit"> </form>
<% } else { % > <% if (!CommonDBBean.Initialization(request.getParameter("DBDriver"),request.getParameter("ConnStr"))) { % > <%=CommonDBBean.getHint() + "<p></p>" %> <% } else { % > <% ResultSet rs; %> <% rs = CommonDBBean.executeQuery(request.getParameter("SQLStr")); %> <%int j = rs.getMetaData().getColumnCount(); %> <table BORDER = "1"> <tr> <%for (int i = 1; i <= j; ++i) { % > <td> <%=rs.getMetaData().getColumnName(i) %> </td> <% } %> </tr>
<%while(rs.next()) { %> <tr> <%for (int i = 1;i <= j; ++i) { % > <td> <%=rs.getString(i)%> </td> <% } %> </tr> <% } %> </table> <% } } if (!CommonDBBean.closeConn()) { % > <%=CommonDBBean.getHint() + "<p></p>" %> <% } %> </font> </body> </html>
|