Actualización de BASE DATOS Acces
Publicado por dacruzcal (17 intervenciones) el 05/10/2006 11:51:01
Estoy realizando una prueba para actualizar un registro en una BASE de DATOS Acces, pero me da el error "error en acceso sql java.lang.ArrayIndexOutOfBoundsException: 1" y no se lo que significa. la aplicación que utilizo es:
import java.sql.*;
public class Ejemplo1603Update {
Connection cnn;
int num;
public Ejemplo1603Update() {
// en este caso hay un origen de sistema en OUpdateC con el nombre Licencias
//cadena de conexión
String url ="jdbc:odbc:Licencias";
// bloque try/catch para detectar excepciones de conexión
try {
// verifica la existencia de la clase
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// establece la conexión utilizando el string url, en este caso,
// no requiere usuario nin contraseña
cnn = DriverManager.getConnection(url ,"","");
acceso();
// cierre de conexión
cnn.close();
System.out.println("OK: conexión cerrada");
} catch (Exception e) {
System.out.println("KO: no se pudo conectar " + e);
}
}
public void acceso(){
try {
PreparedStatement stm = cnn.prepareStatement("UPDATE Personas SET Tema = ? WHERE Personas = ?");
// se asigna valores a los parámetros de la sentencia sql
//primer campo
stm.setInt(1, 1);
stm.setString(2, "nom4567890");
// ejecución de la actualización
int rs = stm.executeUpdate();
// en rs queda el valor de la cantidad de filas afectadas
System.out.println("Cantidad de filas afectadas: " + rs);
// cerrar la sentencia preparada
stm.close();
System.out.println("OK acceso sql ");
}
catch (Exception e) {
System.out.println("error en acceso sql " + e);
}
}
public static void main(String args[]){
new Ejemplo1603Update();
}
}
OTRO dato que desconozco es que opciones tengo que poner en Tema = ? y Personas = ?
cnn.prepareStatement("UPDATE Personas SET Tema = ? WHERE Personas = ?")
Muchas gracias anticipadas.
import java.sql.*;
public class Ejemplo1603Update {
Connection cnn;
int num;
public Ejemplo1603Update() {
// en este caso hay un origen de sistema en OUpdateC con el nombre Licencias
//cadena de conexión
String url ="jdbc:odbc:Licencias";
// bloque try/catch para detectar excepciones de conexión
try {
// verifica la existencia de la clase
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// establece la conexión utilizando el string url, en este caso,
// no requiere usuario nin contraseña
cnn = DriverManager.getConnection(url ,"","");
acceso();
// cierre de conexión
cnn.close();
System.out.println("OK: conexión cerrada");
} catch (Exception e) {
System.out.println("KO: no se pudo conectar " + e);
}
}
public void acceso(){
try {
PreparedStatement stm = cnn.prepareStatement("UPDATE Personas SET Tema = ? WHERE Personas = ?");
// se asigna valores a los parámetros de la sentencia sql
//primer campo
stm.setInt(1, 1);
stm.setString(2, "nom4567890");
// ejecución de la actualización
int rs = stm.executeUpdate();
// en rs queda el valor de la cantidad de filas afectadas
System.out.println("Cantidad de filas afectadas: " + rs);
// cerrar la sentencia preparada
stm.close();
System.out.println("OK acceso sql ");
}
catch (Exception e) {
System.out.println("error en acceso sql " + e);
}
}
public static void main(String args[]){
new Ejemplo1603Update();
}
}
OTRO dato que desconozco es que opciones tengo que poner en Tema = ? y Personas = ?
cnn.prepareStatement("UPDATE Personas SET Tema = ? WHERE Personas = ?")
Muchas gracias anticipadas.
Valora esta pregunta


0