Hola a todos, después de unos de volver a tocar código pude resolver uno de los problemas de MyBroker:
Código Java:
Ver original@Override
public void guardame
(ArrayList
<String
> rows,
String nombre
) { try {
this.objBD.getQuery().getConnection().prepareStatement(this.sqlInsert(nombre));
this.doInsert(rows);
this.objBD.getQuery().execute();
}
System.
out.
println(ex.
getMessage()); }
}
ArrayList<String> columnas=objBD.obtenerColumnas(objBD.obtenerResultSet("select * from "+nombre));
String Consulta
= "insert into " + nombre
+ " ("; for (String columna
: columnas
) { if (Consulta.endsWith("(") == false)
Consulta += ",";
Consulta += columna;
}
Consulta += ") values (" ;
for (String columna
: columnas
) { if (Consulta.endsWith("(") == false)
Consulta += ",";
Consulta += "?";
}
Consulta += ")";
return Consulta;
}
private void doInsert(ArrayList<String> rows){
System.
out.
println("Tamanio: " + rows.
size()); for(int i = 1 ; i < rows.size(); i++){
System.
out.
println("Element: " + i
); try {
objBD.getQuery().setObject(i, rows.get(i));
}
System.
out.
println(ex.
getMessage()); }
}
}
En MyConex.java hice un get del PreparedStatement:
Código Java:
Ver original public MyConex() { }
return query;
}
Y ahora me sale sólo este error:
insert into cargos (carId,carNombre) values (?,?)
Tamanio: 2
Element: 1
Parameter index out of range (1 > number of parameters, which is 0).
Estaba pensando que también puede darme ese error porque el carId es un entero y carNombre es un string, pero en esta línea: objBD.getQuery().setObject(i, rows.get(i)); cómo puedo hacer para lograr que este insert sea genérico de esta forma??
Espero sus respuestas y Saludos