´òÓ¡±¾ÎÄ ´òÓ¡±¾ÎÄ  ¹Ø±Õ´°¿Ú ¹Ø±Õ´°¿Ú  
ͨÓÃÊý¾Ý¿â²Ù×÷BEAN
×÷ÕߣºØýÃû  ÎÄÕÂÀ´Ô´£º²»Ïê  µã»÷Êý  ¸üÐÂʱ¼ä£º2008/5/9 19:02:01  ÎÄÕ¼È룺¶Å±ó  ÔðÈα༭£º¶Å±ó

¡¡¡¡Í¨ÓÃÊý¾Ý¿â²Ù×÷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>

´òÓ¡±¾ÎÄ ´òÓ¡±¾ÎÄ  ¹Ø±Õ´°¿Ú ¹Ø±Õ´°¿Ú