通用数据库操作BEAN

发表于:2007-07-14来源:作者:点击数: 标签:
通用 数据库 操作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
通用数据库操作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>

作者:zergman
email: zergman@chinaasp.com

原文转自:http://www.ltesting.net