1

サーブレットからデータベースに接続する方法を教えてください。次のコードを試しましたが、制御は毎回例外になります。

   try
            {
            int num_rows = 0;
            Connection con = null;
            Statement st = null;
            Statement search = null;
            ResultSet rs = null;
            ResultSet searchRS = null;

            // Connecting to the database
            PrintWriter out = response.getWriter();
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/employees","root","");
            st = con.createStatement(); 
            rs = st.executeQuery("select employees.first_name,employees.last_name,employees.gender,employees.hire_date,departments.dept_name,salaries.salary from employees,departments,salaries,dept_emp where employees.emp_no=salaries.emp_no AND dept_emp.emp_no=employees.emp_no AND dept_emp.dept_no=departments.dept_no AND salaries.to_date='9999-01-01' AND (employees.first_name='"+Sname+"' OR employees.last_name='"+Sname+"')");
            //Retrieval of data from result set retrieved from database

            String[][] str = new String[10][6];

                while( rs.next())
                {
                    str[num_rows][0] = rs.getString("first_name");
                    str[num_rows][1] = rs.getString("last_name");
                    str[num_rows][2] = rs.getString("gender");
                    str[num_rows][3] = rs.getString("hire_date");
                    str[num_rows][4] = rs.getString("dept_name");
                    str[num_rows][5] = rs.getString("salary");
                    num_rows++;
                }

                if(num_rows <10)
                {
                    isLast = true;
                    var = 0;
                }   

            request.setAttribute("listvalue",str);
            request.setAttribute("rows",num_rows);
            RequestDispatcher RequestDispatcherObj =request.getRequestDispatcher("SearchName.jsp");

            RequestDispatcherObj.forward(request, response);

            out.flush();
            con.close();
            var = var +10;
            }
    catch(Exception e)
    {
        e.printStackTrace();
    }
4

2 に答える 2