Sie sind auf Seite 1von 3

<jsp:include>

Includes a static file or sends a request to a dynamic file. Syntax


<jsp:include page="{relativeURL | <%= expression %>}" flush="true" /> or <jsp:include page="{relativeURL | <%= expression %>}" flush="true" > <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+ </jsp:include>

Examples
<jsp:include page="scripts/login.jsp" /> <jsp:include page="copyright.html" /> <jsp:include page="/index.html" /> <jsp:include page="scripts/login.jsp"> <jsp:param name="username" value="jsmith" /> </jsp:include>

Tenemos varias formas de hacer un insert contra una base de datos mediante JDBC. Pero la ms sencilla de todas es ejecutar una sentencia INSERT de SQL. Es por ello que lo primero que vamos a ver es la estructura de dicha sentencia:
INSERT INTO tabla (campo1, campo2,... campoN) VALUES (valor1, valor2,... valorN)

Donde campo(s) son los nombres de las columnas de la tabla en los cuales queremos insertar valores. Si queremos rellenar todos los datos de las columnas no hace falta en poner estos campos. Los valores sern, en riguroso orden, los que correspondan con las columnas de las tabla. En el ejemplo vamos a utilizar la tabla de libros. La cual pasamos a detallar un poco ms:

LIBROS isbn: char(13) idAutor: int(10) categora: varchar(45) titulo: varchar(50) descripcin: text

Veamos los pasos que habra que dar para ejecutar el INSERT mediante una conexin JDBC. Lo primero es realizar la conexin sobre la base de datos. Para ello necesitamos conocer la URL y los drivers de la base de datos. En nuestro caso, que nos apoyamos en MySQL, sera algo como lo que sigue:
// Definimos el driver y la url String sDriver = "com.mysql.jdbc.Driver"; String sURL = "jdbc:mysql://localhost:3306/lineadecodigo";

Con los drivers y la URL simplemente tendremos que obtener la conexin (clase Connection) mediante usuario y password.
Connection con = null; Class.forName(sDriver).newInstance(); con = DriverManager.getConnection(sURL,"root","password");

Una vez obtenida la conexin, pasaremos a preparar la sentencia INSERT mediante un PreparedStatement
stmt = con.prepareStatement("INSERT INTO libros VALUES (?,?,?,?,?)");

Una cosa muy importante es que al montar la sentencia INSERT no definimos los valores de la sentencia. En su lugar ponemos interrogaciones (?) que sern sustituidas posteriormente por valores. Esto se hace para que la sentencia INSERT pueda ser reutilizada con diferentes valores y ser cacheada por los diferentes puntos (cache de conexin de los drivers, cache de la base de datos,). Para rellenar los valores simplemente nos podemos valer de los mtodos setXXX sobre el PreparedStatement. El valor de XXX depender del tipo de dato que manejemos: setString, setDate, setInt,

Veamos como lo asignaramos en nuestro ejemplo:


String sISBN = "84-9815-212-7"; String sTitulo = "Yo, Claudio"; String sDescripcion= "Supuesta autobiografa de Claudio..."; String sCategoria = "novela histrica"; int idAutor = 3; stmt.setString(1,sISBN); stmt.setInt(2,idAutor); stmt.setString(3,sTitulo); stmt.setString(4,sDescripcion); stmt.setString(5,sCategoria);

Ya solo nos quedar ejecutar la sentencia. Cuando la sentencia a ejecutar no devuelve un conjunto de resultados no deberemos de usar executeQuery(), sino que deberemos de utilizar executeUpdate(). Esto es aplicable a INSERT, UPDATE y DELETE.
stmt.executeUpdate();

El valor devuelto por esta sentencia es 1 para sentencias INSERT, UPDATE y DELETE y 0 para sentencias SQL que no devuelven nada. Al final de nuestro programa no se nos puede olvidar en cerrar las conexiones de la base de datos Pero, qu sucede si el valor a insertar (en su clave) ya existe en la base de datos? Pues que nos saltar una sentencia SQLException. En dicha excepcin podemos recuperar el SQLState y el SQLErrorCode, los cuales darn informacin del error.

Das könnte Ihnen auch gefallen