Hola. Estoy tratando de aprender algo sobre jdbc, pero me estoy volviendo loco con este codigo que no funciona. El problema es el siguiente. No se si debo usar distintos statement para ejecutar 3 sentencias SQL juntas pero por las dudas lo hize (soy muy principiante). El problema es el siguiente. Las sentencias para crear una tabla o borrarla andan bien pero no hay caso con el insert. Me doy cuenta que eso se ejecuta porque si lo escribo con algun error me lo marca, pero si lo pongo bien no agrega ningun registro. Probe con execute y con executeUpdate, pero nada. Bueno cualquier ayuda o comentario mil gracias.
Aca esta mi codigo.
import java.sql.*;
public class BaseDeDatos {
public BaseDeDatos() {
}
public void preparar()throws Exception{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dbName="Jdbc:Odbc:dbmia"; // este es el dsn que cree.
Connection conexion=DriverManager.getConnection(dbName);
Statement stmtCrear=conexion.createStatement();
Statement stmtEliminar=conexion.createStatement();
try{
stmtEliminar.execute("DROP TABLE FINALES");
stmtCrear.execute("CREATE TABLE FINALES (n1 INTEGER NOT NULL, n2 INTEGER)"); // Esto anda perfecto
}catch(Exception e){
System.out.println("Hay un error");
}
}
public void guardar() throws Exception{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dbName="Jdbc:Odbc:dbdeltp";
Connection con=DriverManager.getConnection(dbName);
Statement gE=con.createStatement();
try{
gE.execute("INSERT INTO FINALES VALUES (5, 6)"); // esto es lo que no anda, probe de mil formas, escribiendo el nombre de los campos, sin hacerlo, con execute y executeUpdate, todo.
}catch(Exception e2){
System.out.println("Hay un error al guardar los valores");
}
}
}
Ahh una cosa mas, no hay forma de usar una misma variable string y un mismo statement para todas las consultas ?
Gracias
Leo