Java - Ayuda en Jtable con el llamado de datos

 
Vista:
sin imagen de perfil
Val: 106
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en Jtable con el llamado de datos

Publicado por Hector (63 intervenciones) el 29/04/2020 23:25:33
Hola amigos del foro esperando que todos se encuentren muy bien de salud en estos momento que estamos llevando, estoy realizando un formulario de consultas en fecha en donde el nombre de la compañía es el discriminador, por el de las fechas me funciona muy bien un gran amigo Billy me ayudo con este dilema, pero ahora debo hacer lo mismo pero donde debo realizarlo como lo mencione anteriormente el usuario escoge el nombre de la compañia, este esl código que utilizo
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
public void getCasosFrom(String desde, String hasta, String nombre) {
    List<String[]> l = MyQuery.getInstance().executeQuery("select ID,Fecha_Denuncia,Fecha_Siniestro,N_Siniestro,Descripcion,Nombre_Conductor,Rut_Conductor,Patente_Vehiculo,Nombre_Tercero,"
            + " Patente_Tercero,Nombre_Compañia,Inspeccion,Nombre_Asegurado,Rut_Asegurado,N_Poliza,Tipo_Seguro,Analista,Perdida,Fecha_Designacion,Monto_Perdida,Fecha_Informe,Inspector"
            + " from casos where str_to_date(Fecha_Designacion,'%d/%m/%Y'), Where Nombre_Compañia = ? between ? and ?", new String[]{desde, hasta, nombre});
    if (l != null && !l.isEmpty()) {
        String[] columnas = {
            "Registro",
            "F. Denuncia",
            "F. Siniestro",
            "Nº Siniestro",
            "Descripción",
            "Conductor",
            "Rut",
            "Patente",
            "Tercero",
            "Patente 3º",
            "Compañia",
            "Inspección",
            "Asegurado",
            "Rut",
            "Nº Poliza",
            "Tipo",
            "Analista",
            "Perdida",
            "Designación",
            "Monto",
            "Informe",
            "Inspector"
        };
        String[][] datos = new String[l.size()][columnas.length];
        for (int i = 0; i < datos.length; i++) {
            datos[i] = l.get(i);
        }
        tblDatos.setModel(new DefaultTableModel(datos, columnas));
        tblDatos.getColumnModel().getColumn(0).setPreferredWidth(70);
        tblDatos.getColumnModel().getColumn(4).setPreferredWidth(170);
        tblDatos.getColumnModel().getColumn(5).setPreferredWidth(200);
        tblDatos.getColumnModel().getColumn(6).setPreferredWidth(80);
        tblDatos.getColumnModel().getColumn(8).setPreferredWidth(200);
        tblDatos.getColumnModel().getColumn(12).setPreferredWidth(200);
        tblDatos.getColumnModel().getColumn(13).setPreferredWidth(80);
    } else {
        JOptionPane.showMessageDialog(null, "No se encontraron casos para las fechas indicadas", "Advertencia", JOptionPane.WARNING_MESSAGE);
    }
}
con las fechas no hay problema pero me manda este mensaje de error:
"Error al ejecutar query: select ID,Fecha_Denuncia,Fecha_Siniestro,N_Siniestro,Descripcion,Nombre_Conductor,Rut_Conductor,Patente_Vehiculo,Nombre_Tercero, Patente_Tercero,Nombre_Compañia,Inspeccion,Nombre_Asegurado,Rut_Asegurado,N_Poliza,Tipo_Seguro,Analista,Perdida,Fecha_Designacion,Monto_Perdida,Fecha_Informe,Inspector from casos where str_to_date(Fecha_Designacion,'%d/%m/%Y'), Where Nombre_Compañia = ? between ? and ?
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' Where Nombre_Compañia = '2019-11-02' between '2019-11-30' and 'Consorcio'' at line 1"

ojala que me echen una mano con esto porque le veo y no se en donde esta el error y desde ya muchas gracias.
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 Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en Jtable con el llamado de datos

Publicado por Billy Joel (876 intervenciones) el 30/04/2020 00:19:20
Prueba así:

1
List<String[]> l = MyQuery.getInstance().executeQuery("select ID, Fecha_Denuncia, Fecha_Siniestro, N_Siniestro, Descripcion, Nombre_Conductor, Rut_Conductor, Patente_Vehiculo, Nombre_Tercero, Patente_Tercero, Nombre_Compañia, Inspeccion, Nombre_Asegurado, Rut_Asegurado, N_Poliza, Tipo_Seguro, Analista, Perdida, Fecha_Designacion, Monto_Perdida, Fecha_Informe, Inspector from casos where Nombre_Compañia = ? and str_to_date(Fecha_Designacion,'%d/%m/%Y') between ? and ?", new String[]{nombre, desde, hasta});

Estabas repitiendo el where.

Saludos,
Billy Joel
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
sin imagen de perfil
Val: 106
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda en Jtable con el llamado de datos

Publicado por Hector (63 intervenciones) el 30/04/2020 16:44:05
Billy buenos días y esperando que te encuentres muy bien de salud y tu familia también, te comento que funciono altiro, no me había percatado de la clausula where que la había repetido dos veces, ahora con la ayuda que me diste, puedo hacer lo otro de agregar las columnas más que me solicitaron.
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