s1(java)项目实战(固定资产管理)(tools_ DBConnection )

来源:互联网 发布:淘宝商城的加特林水枪 编辑:程序博客网 时间:2024/06/05 04:25

package tools;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
import java.sql.*;
import java.util.*;

public class DBConnection {
    private Connection con = null;
    private String url;
    private String user;
    private String pwd;
    private Statement st = null;
    private ResultSet rs = null;

   public DBConnection() {
        this.url = "jdbc:odbc:asset";
        this.user = "";
        this.pwd = "";
    }

    //查询select
    public Vector select(String sql) {
        Vector content = new Vector();
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection(url, user, pwd);
            st = con.createStatement();
            rs = st.executeQuery(sql);
            ResultSetMetaData rsmd = rs.getMetaData();
            int Columns = rsmd.getColumnCount();
            while (rs.next()) {
                Vector v = new Vector(Columns);
                for (int i = 1; i <= Columns; i++) {
                    v.add(i - 1, rs.getString(i));
                }
                content.add(v);
            }
        } catch (Exception e1) {
            System.out.println("Exception in DATAConnection in select::" +
                               e1.getMessage());
            e1.printStackTrace();
        } finally {
            try {
                if (rs != null) {
                    rs.close();
                }
                if (st != null) {
                    st.close();
                }
                if (con != null) {
                    con.close();
                }
            } catch (Exception e11) {
                System.out.println("Exception in DATAConnection in select::" +
                                   e11.getMessage());
                e11.printStackTrace();
            }
        }
        return content;
    }

    //判断结果集是否为空
    public boolean isNull(String sql) {
        boolean flags = false;
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection(url, user, pwd);
            st = con.createStatement();
            rs = st.executeQuery(sql);
            flags = rs.next();
        } catch (Exception e2) {
            System.out.println("Exception in DATAConnection in isNull::" +
                               e2.getMessage());
            e2.printStackTrace();
        } finally {
            try {
                if (rs != null) {
                    rs.close();
                }
                if (st != null) {
                    st.close();
                }
                if (con != null) {
                    con.close();
                }
            } catch (Exception e12) {
                System.out.println("Exception in DATAConnection in select::" +
                                   e12.getMessage());
                e12.printStackTrace();
            }
        }
        return flags;

    }

    //update/delete/insert等SQL命令
    public String update(int style, String sql) {
        String resultstr = null;
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection(url, user, pwd);
            st = con.createStatement();
            int count = st.executeUpdate(sql);
            if (count > 0) {
                if (style == 1) {
                    resultstr = "修改了" + count + "条记录";
                } else if (style == 2) {
                    resultstr = "删除了" + count + "条记录";
                } else if (style == 3) {
                    resultstr = "插入了" + count + "条记录";
                } else {
                    resultstr = "操作失败";
                }
            }
        } catch (Exception e3) {
            System.out.println("Exception in DATAConnection in update::" +
                               e3.getMessage());
            e3.printStackTrace();
        } finally {
            try {
                if (st != null) {
                    st.close();
                }
                if (con != null) {
                    con.close();
                }
            } catch (Exception e13) {
                System.out.println("Exception in DATAConnection in select::" +
                                   e13.getMessage());
                e13.printStackTrace();
            }
        }
        return resultstr;
    }

    //得到字段名列表
    public String[] getColumnname(String sql) {
        String[] s = null;
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            con = DriverManager.getConnection(url, user, pwd);
            st = con.createStatement();
            rs = st.executeQuery(sql);
            ResultSetMetaData rsmd = rs.getMetaData();
            int Columns = rsmd.getColumnCount();
            s = new String[Columns];
            for (int i = 1; i <= Columns; i++) {
                s[i - 1] = rsmd.getColumnName(i);
            }
        } catch (Exception e4) {
            System.out.println("Exception in DATAConnection in getColumnname::" +
                               e4.getMessage());
            e4.printStackTrace();
        } finally {
            try {
                if (rs != null) {
                    rs.close();
                }
                if (st != null) {
                    st.close();
                }
                if (con != null) {
                    con.close();
                }
            } catch (Exception e14) {
                System.out.println("Exception in DATAConnection in closeall::" +
                                   e14.getMessage());
                e14.printStackTrace();
            }
        }
        return s;
    }
}