Foros del Web » Programación para mayores de 30 ;) » Java »

problema con insert en bd access

Estas en el tema de problema con insert en bd access en el foro de Java en Foros del Web. Bueno.... estoy realizando una aplicacion en jsp , pero la verdad no alcance a ver coxion a la bd...... y ps estuve consultando y estoy ...
  #1 (permalink)  
Antiguo 27/09/2009, 00:56
Avatar de sebas_20_jv  
Fecha de Ingreso: agosto-2009
Ubicación: Medellin, Colombia
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 3
De acuerdo problema con insert en bd access

Bueno.... estoy realizando una aplicacion en jsp , pero la verdad no alcance a ver coxion a la bd...... y ps estuve consultando y estoy tratando de hacer un ejercicio que me ayude a resolver este problema.......

ya cree mi BD...... Con una tabla ..... y tres campos, clave , nombre y edad , este es el codigo que tengo...........

Connection canal = null;
ResultSet tabla= null;
Statement instruccion=null;

String sitiobase = "c:/ejemplo.accdb";

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

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

canal=DriverManager.getConnection(strcon);

instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSIT IVE,

ResultSet.CONCUR_UPDATABLE);

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

//cargando los demas campos a grabar

int clave= Interger.parseInt(request.getParameter("CLAVE"));

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

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

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

out.println("REGISTRO INSERTADO");};

try{

instruccion.close();

canal.close();

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

};

%>


El formulario me carga perfectamente, pero al insertar me sale un error........
no se si depronto tendre que instalar un driver para access, auque el error me sale en las ultimas instruciones del try.........

agradezco me colaboren.......
  #2 (permalink)  
Antiguo 12/12/2009, 13:16
an3
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: problema con insert en bd access

no se si te sirva de mucho, pero yo estoy haciendo una aplicacion donde uso MySql y para conectarme a la BD hago lo siguiente:

class TuServlet{

private static final String BD_URL = "jdbc:mysql://<IP donde esta tu bd>";
private static final String BD_LOGIN = "usuario";
private static final String BD_CLAVE = "clave";
private static final String BD_DRIVER = "org.gjt.mm.mysql.Driver";
public Connection conn;


private void conexion_BD()
{
try {
Class.forName(BD_DRIVER);
conn = DriverManager.getConnection(BD_URL, BD_LOGIN, BD_CLAVE);

} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}

}



try {
Statement state = conn.createStatement();
ResultSet rs1;
state.executeQuery ("SELECT * FROM tabla;");
rs1 = state.getResultSet ();


}catch(SQLException e){
e.printStackTrace();
}catch(Exception es){
es.printStackTrace();
}

}



}


y bueno despues hago lo que tenga que hacer con esos datos
  #3 (permalink)  
Antiguo 16/12/2009, 09:58
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 3 meses
Puntos: 10
Respuesta: problema con insert en bd access

Wenas

Y cuando ejecutas el insert?? cuando lo ejecutes deberas hacer el commit.

Saludos.

PD. De todos modos la politica que estas usando es mala. Estas presuponiendo que mitabla tiene en ese orden los campos, es decir, columna1 clave, col2, nombre...

En tu caso puede que sea asi, pero no serias el primero, que cuando tenga que hacer sus pruebas se encuentra con que le da un error de insercion que no es mas que el orden de los campos no es el mismo.

La propia sentencia insert da la solucion

INSERT INTO MITABLA (CLAVE, NOMBRE, EDAD) VALUES (17,'PEPE',34);
__________________
--
NO. Tu problema no es urgente.

CCFVLS
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:56.