Java - Ingresar datos a BD recorriendo una tabla java

 
Vista:

Ingresar datos a BD recorriendo una tabla java

Publicado por Jonatan (2 intervenciones) el 13/07/2016 21:23:19
Buenas a todos los del foro, es la primera vez que participo así que disculpad si no me doy a entender, el problema es que intento agregar los datos que ya tengo en un jTable a una tabla en la base de datos, e hecho lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int i=0;
while(i<jTable1.getRowCount()){
		String a=(String)jTable1.getValueAt(i, 0);
		String b=(String)jTable1.getValueAt(i, 1);
 
	try{
		Connection con=null;
		Class.forName("com.mysql.jdbc.Driver");
		con=DriverManager.getConnection("jdbc:mysql://localhost:3306/farmacia","root","root");
		System.out.println("conexion exitosa");
 
		PreparedStatement preparedStmt = con.prepareStatement(" insert into prueba values ('0','"+a+"','"+b+"','"+fecha+"')");
		System.out.println(preparedStmt);
 
	preparedStmt.execute();
	System.out.println("ejecutado!!");
	}catch(ClassNotFoundException | SQLException ex){
	}
	i++;
	System.out.println("ejecutado"+i);
}System.out.println("termino while");


Si se dan cuenta incluso e puesto impresiones en consola para ver en donde se "atora" o en donde no se ejecuta el código, incluso lo único que no hace es el preparedStmt.execute(); lo e intentado con un for y es el mismo problema, esa linea de código no la ejecuta, si alguien tiene alguna otra solución o sugerencia de verdad que se los agradecería.

Jonatan Mena.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Carlos Castro

Ingresar datos a BD recorriendo una tabla java

Publicado por Carlos Castro (54 intervenciones) el 13/07/2016 22:19:48
Saca la conexion a la base de datos fuera del bucle....

1
2
3
4
Connection con=null;
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/farmacia","root","root");
System.out.println("conexion exitosa");


Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ingresar datos a BD recorriendo una tabla java

Publicado por Jonatan (2 intervenciones) el 15/07/2016 18:40:36
Gracias por comentar y aportar @Carlos Castro; todo estaba casi perfecto, excepto un error de sintaxis en la consulta SQL, en mi base de datos tenia un tipo de dato DATE y lo estaba ingresando con un formato erróneo... y aunque ponga la conexión dentro de un for o un while funciona, les aporto la solución por si alguna vez la ocupan (aunque es básico :p) disculpa el error de novato.

acá el código.....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
String a = null;
String b = null;
 
Date date = new Date();//aca estaba el error!!! X(
DateFormat hourdateFormat = new SimpleDateFormat("yyyy/MM/dd");
String fecha=hourdateFormat.format(date);
 
for(int i=0;i<jTable1.getRowCount();i++){
	a=(String)jTable1.getValueAt(i, 0);
	b=(String)jTable1.getValueAt(i, 1);
 
 
	Connection con = null;
	Statement stat = null;
	try {
 
		Class.forName("com.mysql.jdbc.Driver");
		con = DriverManager.getConnection("jdbc:mysql://localhost:3306/farmacia","root", "root");
 
		// Creamos un Statement para poder hacer peticiones a la bd
		stat = con.createStatement();
		//insertamos a la tabla reporte
		String insertar = "INSERT INTO reporte VALUES ('0','"+a+"','"+b+"','"+fecha+"')";
		stat.executeUpdate(insertar);
 
	} catch (ClassNotFoundException | SQLException e) {
		System.out.println("Error: " + e.getMessage());
 
	} finally {
		if (stat != null) {
			try {
				stat.close();
			} catch (SQLException ex) {
 
			}
		}
		if (con != null) {
			try {
				con.close();
			} catch (SQLException ex) {
 
			}
		}
	}
}//fin for

Y por fin funciona, muchas gracias por contestar y otra disculpa por contestar apenas....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 686
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ingresar datos a BD recorriendo una tabla java

Publicado por xve (345 intervenciones) el 16/07/2016 10:29:13
Gracias por compartirlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar