<%@ page import="java.sql.*, HenkTk.HenkiloTietokanta" errorPage="/jsp/error.jsp" %> <%! // ODBC-ajurin käyttöönotto private static String ajuri = "sun.jdbc.odbc.JdbcOdbcDriver"; private static String url = "jdbc:odbc:HenkiloServlet"; %> <% String nimi = request.getParameter("nimi"); response.setContentType("text/html"); String select = "select * from henkilotiedot where nimi like ?"; // **** Muodostetaan yhteys tietokantaan (Connection-olio) *** Connection con = HenkiloTietokanta.yhdista(ajuri, url); if (con == null) { return; } PreparedStatement pstmt; //**** Kysely - Prepared Statement ********** // Parametri tuodaan HTML-lomakkeella try { pstmt = con.prepareStatement(select); // Lohkon synkronointi, ts. tietokannan suojaaminen muilta samanaikaisesti suoritettavilta servleteiltä. synchronized (pstmt) { pstmt.setString(1, '%' + nimi + '%'); ResultSet rs = pstmt.executeQuery(); HenkiloTietokanta.kyselyHTML(rs, out); pstmt.close(); } } catch (ArrayIndexOutOfBoundsException ae) { out.println("Anna hakunimi komentorivillä!\n" + ae.toString()); } catch (SQLException sqle) { while (sqle != null) { out.println("
" + sqle.toString() + "
"); sqle = sqle.getNextException(); } } // Suljetaan yhteys lopuksi tietokantaan. try { if (con != null) con.close(); } catch (SQLException e) { } %>