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>
