Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/05/2013, 13:56
agusnovak
 
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?