dao.java

来自「北大青鸟几次机试的试题」· Java 代码 · 共 113 行

JAVA
113
字号
package TangXuefang;

import java.sql.*;
import java.util.Vector;


public class DAO {
    java.sql.Connection con;
    java.sql.PreparedStatement pst;
    java.sql.ResultSet rs;
    public DAO() {
        try {
            //加载驱动
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }
        try {
            jbInit();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public void getcon() {
        //一个连接的方法
        try {
            con = DriverManager.getConnection(
                    "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Myticket",
                    "sa", "");

        } catch (SQLException ex) {
            ex.printStackTrace();
        }

    }

//一个判断输入是否区分大小写的方法
    public String[] verdict(bean a) {
        getcon();
        String[] v = new String[2];
        try {
            pst = con.prepareStatement("select leavecity,destination from ticketinfo where (leavecity=? and destination=?)");
            pst.setString(1, a.getLeavecity());
            pst.setString(2, a.getDestination());
            rs = pst.executeQuery();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        try {
            if (rs.next()) {
                v[0] = rs.getString(1);
                v[1] = rs.getString(2);
            }
        } catch (SQLException ex1) {
            ex1.printStackTrace();
        } finally {
            try {
                rs.close();
                pst.close();
                con.close();

            } catch (SQLException ex2) {
                ex2.printStackTrace();
            }

        }

        return v;
    }


    //一个查询的方法
    public Vector select(bean a) {
        getcon();
        Vector v = new Vector();
        try {
            pst = con.prepareStatement("select flightno from ticketinfo where (leavecity=? and destination=? and econum>=?)");
            pst.setString(1, a.getLeavecity());
            pst.setString(2, a.getDestination());
            pst.setInt(3, Integer.parseInt(a.getEconum()));
            rs = pst.executeQuery();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        try {
            while (rs.next()) {

                v.addElement("\n" + rs.getString(1));

            }
        } catch (SQLException ex1) {
            ex1.printStackTrace();
        } finally {
            try {
                rs.close();
                pst.close();
                con.close();

            } catch (SQLException ex2) {
                ex2.printStackTrace();
            }

        }

        return v;
    }

    private void jbInit() throws Exception {
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?