3. Ejecución de Sentencias SQL
La sentencias SQL se ejecutan normalmente con :
• executeUpdate() : INSERT, UPDATE, DELETE, CREATE
TABLE, DROP TABLE. Retorna el número de filas que
han sido alteradas.
• executeQuery() : Para utilizarlo con sentencias SELECT
Ejem.
stmt.executeQuery("SELECT a, b, c FROM Table2");
stmt.executeUpdate(“INSERT INTO Detalles VALUES(10,10,´A´);
4. Objeto ResultSet
• El resultSet contiene los resultados de la ejecución de un
query SQL en un cursor que apunta a la fila actual de datos. El
desplazamiento se da cada vez que se llama al metodo next().
• Por default el desplazamiento es hacia delante solamente.
JDBC 2.0 permite diversos desplazamientos : previous, first,
last, absolute, relative, afterLast, and beforeFirst.
• Ejem.
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
...// realizamos diversas operaciones con el cursor
}
5. Objeto ResultSet
Obteniendo Datos de un ResultSet :
• Utilizamos los métodos getXXX() : Donde XXX indica el
tipo de dato que queremos obtener a partir del Cursor.
String s = rs.getString(2);
String s = rs.getString(“title");
• El parámetro dentro del getXXX() si es un numero hará
referencia al campo que ocupa esa posición en el
registro actual, cuando se trata de una cadena esta
referirá al nombre del campo obtenido en la consulta.
6. JavaBean en JSP
Para usar JavaBeans en JSP podemos hacerlo como el
siguiente código:
• <jsp:useBean
id="d"
class="ec.edu.itsae.compras.model.Proveedor”
scope=“page”/>
• id es la variable distancia que utilizaremos para poder llamar a
los métodos de una clase, este caso es como instanciar la
clase.
• class es la clase del cual utilizaremos sus métodos, es como
si importáramos la clase a la vista JSP.
• scope: es el alcance de hasta donde esta disponible la
referencia.
7. SCOPE del <jsp:useBean …>
Los significados de los posibles valores del atributo alcance
(SCOPE) son:
• El alcance page significa que el objeto es asociado a esta
solicitud concreta a esta página.
• El alcance request significa que el objeto es asociado a esta
solicitud de cliente concreta. Si la solicitud es reenviada a otra
JSP utilizando la acción <jsp:forward> o si otra JSP es
incluida utilizando la acción <jsp:include>, el objeto estará
disponible.
• El alcance session significa que el objeto estará disponible
durante las solicitudes realizadas por el mismo cliente en la
sesión actual.
• El alcance application significa que el objeto estará disponible
en cualquier página JSP dentro de la misma aplicaci6n Web.
8. Para mostrar en la vista JSP
<jsp:useBean id="d"
class="ec.edu.itsae.compras.model.Proveedor” />
Después de declarar el JavaBean llamamos a los métodos
de la siguiente manera
ResultSet rs = d.listar_depa();
while (rs.next()){
rs.getString(“columna1");
rs.getString(“columna2");
rs.getString(“columna3");
}
9. LA VISTA JSP
Vista.jsp
Listavista.jsp
Utilizaremos la misma pagina del
formulario donde registramos los datos,
para mostrar datos desde la BD.
Para esto insertaremos el archivo
listavista.jsp dentro de otro, es decir
dentro de Vista.jsp con la siguiente
instrucción:
<jsp:include
page="listavista.jsp"
flush="true"/>
10. Recordando cuando registramos
form Servlet Clase
Vista.jsp Control.java Modelo.java
BASE DE
DATOS
Envía datos
Llama método
insert
Seconectaa
Vista
Utiliza JSP
y HTML
Formularios
Controlador
Java
Servlet
Toma
decisiones
Modelo
Clases en
JAVA
Atributos y
métodos
Modelo de 3 capas - MVC
11. Pintando datos desde la BD
form Servlet Clase
Vista.jsp Control.java Modelo.java
BASE DE
DATOS
Llama método (Select * from tabla)
Seconectaa
Vista
Utiliza JSP
y HTML
Formularios
Controlador
Java
Servlet
Toma
decisiones
Modelo
Clases en
JAVA
Atributos y
métodos
Modelo de 3 capas - MVC
Resulset rs
rs.next(){
rs.getStrin(“col”)
}
Javabean