14/05/2013, 13:56
|
| | Fecha de Ingreso: abril-2013
Mensajes: 36
Antigüedad: 11 años, 8 meses Puntos: 0 | |
Respuesta: Problema al insertar un array en una base de datos sql Mmmm pongo entonces mi codigo a ver si me pueden ayudar:
--periodontograma.java-- (esta es la clase)
package modelo;
public class Periodontograma {
private String DNI;
private int[] arrayDientes = new int[32];
public Periodontograma(){
int i;
for(i=0; i<32; i++){
arrayDientes[i] = 0;
}
}
public String getDNI() {
return DNI;
}
public void setDNI(String dNI) {
this.DNI = dNI;
}
public int getDientes(int i) {
return arrayDientes[i];
}
public void setDientes(int i, int Dientes) {
this.arrayDientes[i] = Dientes;
}
}
y aqui el codigo del action --AccionBuscarPeriodontograma.java--
package controlador;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Locale;
import modelo.Periodontograma;
import com.opensymphony.xwork2.ActionSupport;
public class AccionBuscarPeriodontograma extends ActionSupport {
private static final long serialVersionUID = 1L;
public static final String NIF_STRING_ASOCIATION = "TRWAGMYFPDXBNJZSQVHLCKET";
private Periodontograma periodontogramaVO;
@Override
public String execute() throws Exception {
String url = "jdbc:mysql://localhost:3306/";
String dbName = "clinigest";
String driverName = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "CRSM";
Connection con = null;
Statement stmt = null;
ResultSet rs;
int tDiente;
int i, j, val, tNumero;
String tDNI = periodontogramaVO.getDNI();
try {
Class.forName(driverName).newInstance();
con = DriverManager.getConnection(url + dbName, userName, password);
stmt = con.createStatement();
}
catch (Exception e) {
System.out.println(e.getMessage());
}
stmt = con.createStatement();
rs = stmt.executeQuery("SELECT DNI FROM periodontograma WHERE DNI like '"+tDNI+"'");
if (rs.next() == false) {
for(i=0; i<32; i++){
tDiente = periodontogramaVO.getDientes(i);
tNumero = i;
System.out.println(tDiente);
val = stmt.executeUpdate("INSERT INTO periodontograma (DNI, Numero_Pieza, Estado_Pieza) VALUES ('"+tDNI+"', '"+tNumero+"', '"+tDiente+"')");
if (val == 0) {
return ERROR;
}
}
}
else {
for (i=0; i<32; i++) {
tNumero = i;
rs = stmt.executeQuery("SELECT Estado_Pieza FROM periodontograma WHERE DNI like '"+tDNI+"' AND Numero_Pieza like '"+tNumero+"'");
while (rs.next()) {
tDiente = Integer.parseInt(rs.getString("Estado_Pieza"));
periodontogramaVO.setDientes(i, tDiente);
}
}
}
con.close();
return SUCCESS;
}
public Periodontograma getPeriodontogramaVO() {
return periodontogramaVO;
}
public void setPeriodontogramaVO(Periodontograma periodontogramaVO) {
this.periodontogramaVO = periodontogramaVO;
}
}
alguna idea? |