UNIDAD 7: JAVA JSP INTRODUCION A LAS BASES DE DATOS

TEMA 8: INSERCION O ADICION DE REGISTROS SQL INSERT JAVA JSP

Insertar o agregar registros o renglones nuevos a una tabla en disco, es un proceso sencillo que usa la siguiente instrucción sql:

INSERT INTO TABLA(CAMPO1,CAMPO2..) VALUES(VALOR1,VALOR2..);

Recordar que solo se esta usando lo minimo de cada instrucción sql es conveniente estudiar un tutorial de sql.

Prog34.jsp


<%@ page import="java.io.*,java.util.*,java.net.*,java.sql.*" %>

<%! int cargarclave(){

// funcion para cargar nueva clave del nuevo registro a insertar

int cla =0;

Connection canal = null;

ResultSet tabla= null;

Statement instruccion=null;

String sitiobase = "c:/pfacil/mibase.mdb";

String strcon= "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + sitiobase;

try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

canal=DriverManager.getConnection(strcon);

instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};

try {

tabla = instruccion.executeQuery("select * from mitabla");

// solo nos vamos al ultimo registro del resultset

tabla.last();

// y se lee la primera columna del ultimo renglon

cla = Integer.parseInt(tabla.getString(1));

// numreng=tabla.getRow();

tabla.close();instruccion.close(); canal.close();

} catch(SQLException ex){};

// ademas se debera regrasar incrementada en una unidad

return cla+1;

} //fin funcion cargarclave()

%>

<%

if(request.getParameter("GRABAR") != null)

{

// objetos de enlace

Connection canal = null;

ResultSet tabla= null;

Statement instruccion=null;

String sitiobase = "c:/pfacil/mibase.mdb";

String strcon= "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + sitiobase;

// cargando la nueva clave que tendra el registro a insertar

int clave;

clave= cargarclave();

// abriendo otra vez el canal o enlace en su propio try-catch

try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

canal=DriverManager.getConnection(strcon);

instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};

//cargando los demas campos a grabar

String nombre = request.getParameter("NOMBRE");

int edad = Integer.parseInt(request.getParameter("EDAD"));

// USANDO SQL insert into tabla values(clave, 'nom', edad);

String q="insert into mitabla values(" +clave +",'"+ nombre+"',"+edad+") ";

// cuidado con los apostrofes que debe llevar la string arriba

try {

// agregando renglon (insert)

int n=instruccion.executeUpdate(q);

//avisando que se hizo la instruccion

out.println("REGISTRO INSERTADO");

} catch(SQLException e) {out.println(e);};

try{

// observar que tabla.close() no se usa aqui porque no se regreso un resultset de la base en disco

// solo usar tabla.close() cuando se usa un SQL SELECT

instruccion.close();

canal.close();

} catch(SQLException e) {out.println(e);};

};

// construyendo forma dinamica

out.println("<FORM ACTION=prog34.jsp METHOD=post>");

out.println("CLAVE :"+cargarclave()+"<BR>");

out.println("NOMBRE :<INPUT TYPE=TEXT NAME=NOMBRE><BR>");

out.println("EDAD :<INPUT TYPE=TEXT NAME=EDAD><BR>");

out.println("<INPUT TYPE=SUBMIT NAME=GRABAR VALUE=INSERTAR ><BR>");

out.println("</FORM>");

%>

Corrida:

image60.jpg

corrida prog 33:

image61.jpg

El programa esta bien documentado.

se usa el metodo RESULTSET.LAST() para irse al ultimo renglon de la tabla en memoria o RESULTSET.

Luego se lee la primera columna del ultimo renglon de la tabla, para cargar la ultima clave grabada.

El metodo o declaracion devuelve el valor de la ultima clave que esta en el ultimo renglon de la tabla, incrementada en una unidad.

Se crea la string q, con el formato apropiado sql( como se dijo al principio de este tema).

OBSERVAR QUE EXISTEN DOS METODOS PARA EL OBJETO STATEMENT:

a) STATEMENT.EXECUTEQUERY()→ USARLO PARA SQL SELECT

b) STATEMENT.EXECUTEUPDATE()→ USARLO PARA SQL INSERT, UPDATE, DELETE.

TAREAS PROGRAMACION JAVA JSP

1.- construir muchos programas de inserccion en las tablas de las bases de datos que tengan construidas

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad