ACCESO A BASE DE DATOS MYSQL CON JSP CONTENIDO

1. ACCESO A BASES DE DATOS MYSQL 1.1. PASOS PARA ACCEDER A BASE DE DATOS

1.2. 2.

EJEMPLO DE CONSULTA E INSERSIÓN DE DATOS

EJERCICIO PROPUESTO

1. ACCESO A BASES DE DATOS MYSQL 1.1. PASOS PARA ACCEDER A BASE DE DATOS

JDBC es una API pura de Java que se usa para ejecutar comandos de SQL. Suministra una serie de clases e interfaces que permiten al desarrollador de Web escribir aplicaciones que gestionen Bases de Datos. La interacción típica con una base de datos consta de los siguientes cuatro pasos básicos: o o o o Abrir la conexión a la base de datos Ejecutar consultas contra la base de datos Procesar los resultados Cerrar la conexión a la base de datos

// Paso 1. Abrir la conexión a la base de datos. //MEDIANTE ODBC Connection conexion = DriverManager.getConnection("jdbc:odbc:Nombre_ODBC","usuario","password"); //CONEXIÓN DIRECTA A MYSQL Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection("jdbc:mysql://localhost/prueba? user=root&password="); // Paso 2. Ejecutar consultas a la base de datos. Statement Estamento = conexion.creStatement(); ResultSet rs = Estamento.executeQuery("select dni,nombre,apellidos,edad from agenda"); // Paso 3. Procesar los resultados. En este caso los muestra en pantalla. while (rs.next()) { out.println("DNI ->"+ rs.getString("dni")); out.println("NOMBRE ->"+ rs.getString("nombre")); out.println("APELLIDOS ->"+ rs.getString("apellidos")); out.println("EDAD ->"+ rs.getInt("edad")); } // Paso 4 . Cerrar la conexión a la base de datos. rs.close(); Estamento.close(); conexion.close();

1.2.

CONSULTA E INSERSIÓN DE DATOS

Crear una Base de Datos en Mysql con el nombre: prueba Crear una tabla con el nombre articulo y que contenga los siguientes campos: - codigo varchar(6) clave principal - descripcion varchar(50) - cantidad int(10) unsigned - precio float

Ing. Bertha Mazón

1

Ejemplo: bd_consulta.jsp
<% //declaración de variables globales Statement stmt_consul=null, stmt_inser = null; ResultSet rs = null; Connection conn= null; Object dato; //conexion a la base de datos try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection("jdbc:mysql://localhost/prueba?user=root&password="); }catch(SQLException ex) {} //insersión de datos String temp2=request.getParameter("op"); if(temp2==null)temp2=""; if(temp2.compareTo("Guardar")==0){ try{ stmt_inser = conn.createStatement(); String codigo=request.getParameter("txtcodigo"); if(codigo==null)codigo=""; String desc=request.getParameter("txtdesc"); if(desc==null)desc=""; int cant=Integer.parseInt(request.getParameter("txtcant")); String precio=request.getParameter("txtprecio"); if(precio==null)desc="0"; String strSQL= "INSERT INTO articulo values('" + codigo + "','" + desc + "'," + cant + "," + precio +")"; stmt_inser.executeUpdate(strSQL); out.println("Insersión exitosa"); } catch (SQLException ex) {} } //Consultar la base de datos try{ stmt_consul = conn.createStatement(); rs = stmt_consul.executeQuery("SELECT * FROM articulo"); rs = stmt_consul.getResultSet(); } catch (SQLException ex) { out.println("SQLException: " + ex.getMessage()); out.println("SQLState: " + ex.getSQLState()); out.println("VendorError: " + ex.getErrorCode()); } %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Documento sin t&iacute;tulo</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <div align="center"><strong>LISTADO DE ART&Iacute;CULOS </strong><br> </div> <table width="464" height="52" border="1" align="center"> <tr align="center" bgcolor="#FFFFCC"> <td><strong>C&oacute;digo</strong></td> <td><strong>Descripci&oacute;n</strong></td> <td><strong>Cantidad</strong></td> <td><strong>Precio</strong></td> </tr> <% while (rs.next()) { %> <tr> <td><%= (dato=rs.getObject("codigo"))==null ?"":dato%></td> <td><%= (dato=rs.getObject("descripcion"))==null ?"":dato%></td>

Ing. Bertha Mazón

2

<td><%= (dato=rs.getObject("cantidad"))==null ?"":dato%></td> <td><%= (dato=rs.getObject("precio"))==null ?"":dato%></td> </tr> <% } %> </table> <blockquote> <p><a href="bd_consulta.jsp?op=frmInsert">Nuevo art&iacute;culo </a> </p> </blockquote> <% String temp1=request.getParameter("op"); if(temp1==null)temp1=""; if(temp1.compareTo("frmInsert")==0){ %> <form name="form1" method="post" action="bd_consulta.jsp"> <fieldset> <table width="552" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td bordercolor="#FFFFCC" bgcolor="#FFFFCC"><strong>Código:</strong></td> <td><input name="txtcodigo" type="text" size="10" maxlength="6"></td> </tr> <tr> <td bordercolor="#FFFFCC" bgcolor="#FFFFCC"><strong>Descripción: </strong></td> <td><input name="txtdesc" type="text" size="50" maxlength="50"></td> </tr> <tr> <td bordercolor="#FFFFCC" bgcolor="#FFFFCC"><strong>Cantidad: </strong></td> <td><input name="txtcant" type="text" size="10" maxlength="10"></td> </tr> <tr> <td bordercolor="#FFFFCC" bgcolor="#FFFFCC"><strong>Precio: </strong></td> <td><input name="txtprecio" type="text" size="10" maxlength="10"></td> </tr> <tr align="center"> <td colspan="2" bordercolor="#FFFFCC" bgcolor="#FFFFCC"><input name="op" type="submit" id="op" value="Guardar"></td> </tr> </table> </fieldset> </form> <% }//fin formulario %> </body> </html> <% //cerrar la conexion try { rs.close(); stmt_consul.close(); conn.close(); } catch (SQLException sqlEx) {} %>

2. Resolver el siguiente ejercicio en JSP
Crear una base de datos “trabajo”, con las tablas profesión (código, nom_profesion) y profesional (código, ci, nombre, apellido, fecha de nacimiento, ciudad, dirección, teléfono, título principal, estudios realizados, cursos realizados, trabajos desempeñados y referencias personales). Implementar una aplicación web que permita: Publicar el currículo de un nuevo profesional Listar los profesionales clasificados por profesión Buscar un profesional por apellido Eliminar un profesional Actualizar los datos de un profesional

Ing. Bertha Mazón

3

Sign up to vote on this title
UsefulNot useful