通用数据库操作BEAN

80酷酷网    80kuku.com

  数据|数据库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">
    

  Input Connection String: <input type=text name=ConnStr value="jdbc:odbc:testBean">
    

  Input SQL Query: <input type=text name=SQLStr value="select * from jobs">
    

  <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>



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: