lunes, 21 de diciembre de 2009

JDBC Actualizar

«viruzCorp»

Update de un registro asignando valor en la misma instrucción sql(Statement) , usando clausula where

public void updateInTable(String key,String a){
//establecemos las variables necesarias
Statement instruccion;
String orden_SQL;
try{
//definimos driver
Class.forName("com.mysql.jdbc.Driver");
//parametros bd=base de datos, usr=usuario, ""=password
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/bd","usr","");
instruccion= con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
//definimos intruccion a campo se le asignara el valor de la variable
//a de acuerdo a la especificación where

orden_SQL = "UPDATE nameTable SET campo='"+a+"' where campo="+key;
//ejecutamos instruccion
instruccion.executeUpdate(orden_SQL);
//liberamos recursos
instruccion.close();
con.close();
}catch(Exception ex){JOptionPane.showMessageDialog(null,"Error",
"Advertencia",JOptionPane.INFORMATION_MESSAGE);}
}

Nótese la instrucción "UPDATE nameTable SET campo='"+a+"' where campo="+key; considerar que todos los que coincidan con la especificación where seran modificados.

Update de un registro asignando valor fuera de la instrucción sql(PreparedStatement) , usando clausula where


public void updateInTable( String key) {
//definimos variables
PreparedStatement pstmt;
Connection con = null;
try {
//establecemos conexion ver arriba( ejemplo 1)
con = DriverManager.getConnection("jdbc:mysql://localhost/bd","usr","");
//preparamos la instruccion
pstmt = con.prepareStatement("update nameTable set campo = ? where campo='" +key+"'");
//definimos el valor
pstmt.setString(1,"valor");
//ejecutamos actualizacion
pstmt.executeUpdate();
//liberamos recursos
pstmt.close();
con.close();
}catch (Exception e) {e.getMessage();}}

Nótese la instrucción "update nameTable set campo = ? where campo=" +key considerar que todos los que coincidan con la especificación where seran modificados.
Como ya se dijo antes la instrucción pstmt.setString(1,”valor”); (corresponde a la rama de los metodos setxxx(); ) , asi tambien se puede modificar el valor 1, por el nombre de la columna o campo.


Arellano Bello Gilberto Jesus

Lic.informatica,Tecnologico de Zacatepec

0 comentarios:

Publicar un comentario