在进行Java数据库开发的时候,我们通常将对数据库的操作封装在JavaBean中。这样在页面中的数据处理时我们就不用将这些语句都放置在try-catch语句了。但是如何返回详细的错误信息呢?
在实际操作中,我采用了这样的办法--定义两个私有变量int countInt 和 String strDBError 记录错误编码和错误信息。演示代码如下:
package DB;
/**
* Title: JavaBean of DataBase
* Copyright: Copyright (c) 2002
* Company: weide
* @author weidegong
* @version 1.0
*/
import java.sql.*;
import java.util.*;
public class dataConn {
private Connection conn = null;
private Statement drpStmt = null;
private ResultSet drpRst = null;
private int countInt = 0;//0,默认情况;-1,表示发生数据库操作错误;-2,java.lang.Exception;其他编码.....
private String strDBError="";//错误信息
boolean autoCommit;
public dataConn() {
try{
//jdbc-odbc
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","706adm607");
drpStmt = conn.createStatement();
}
catch(SQLException sqle){
countInt=-1;
strDBError=sqle.getMessage();
}
catch(java.lang.Exception e){
countInt=-2;
strDBError=e.getMessage();
}
}
//-------------------------------------------------------------------
public int getErrorCode(){
return countInt;
}
//-------------------------------------------------------------------
//-------------------------------------------------------------------
public String getErrorInfo(){
return strDBError;
}
//-------------------------------------------------------------------
//-------------------------------------------------------------------
public ResultSet exeQuery(String queryString){
countInt=0;//初始化为0
strDBError="";//初始化错误信息
try{
drpRst = drpStmt.executeQuery(queryString);
countInt=1;
}catch(SQLException sqly){
countInt=-1;
strDBError+="Error occur while useing dataConn.exeQuery(queryString)!<p>The queryString is <p>" + queryString + "<p>The Error Information from DBMS:<p>"+sqly.getMessage();
}catch(java.lang.Exception y){
countInt=-2;
strDBError+="<p>java.lang.Exception:"+y.getMessage();
}
return drpRst;
}
//-------------------------------------------------------------------
//-------------------------------------------------------------------
public int exeUpdate(String updateString){
countInt=0;//初始化为0






