как решение этого java.util. Восходите cannot be cast to java.sql. Восходите

привет я пересылаю файл excel в jsp, чтобы сохранять в MySQL файл excel у него есть два поля тип датируй, в момент чтения соответствующего файла у меня выходит эта ошибка java.util. Восходите cannot be cast to java.sql. Восходите, выполнив это и я не смог решать это кто-то знает, как я могу упорядочивать это, я пересылаю код, где я читаю файл excel, случаи, где он оценил два поля тип, датируй это 3 и 4 не, как не возможно оценивать в этой части также

    for (int i = 1; i <= firstsheet.getLastRowNum(); i++) {
        fila = firstsheet.getRow(i);
        No = new TablaNovedadEmpleado();
        No.setFecha(fecha);

        int j = 0;
        for (j = 0; j < fila.getLastCellNum(); j++) {
            Cell celda = fila.getCell(j);
            if (j == 0) {
                if (celda == null || celda.getCellType() == Cell.CELL_TYPE_BLANK) {
                    break;
                }
            }

            switch (j) {

                case 1:
                    if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
                        No.setNombres(celda.getStringCellValue());
                    }
                    break;

                case 2:
                    if (celda.getCellType() == Cell.CELL_TYPE_STRING) {
                        No.setTipo_Novedad(celda.getStringCellValue());
                    }
                    break;
                case 3:
                    if (celda.getCellType() == Cell.CELL_TYPE_NUMERIC) {
                        No.setFecha_inicio((Date) celda.getDateCellValue());

                    }
                    break;

                case 4:
                    if (celda.getCellType() == Cell.CELL_TYPE_FORMULA) {
                        No.setFecha_fin((Date) celda.getDateCellValue());
                    }
                    break;

                case 5:
                    if (celda.getCellType() == Cell.CELL_TYPE_NUMERIC) {
                        No.setDias(celda.getStringCellValue());
                    }
                    break;
                case 6:
                    if (celda.getCellType() == Cell.CELL_TYPE_NUMERIC) {
                        No.setHoras(celda.getStringCellValue());
                    }
                    break;
            }

        }
        if (No.getNombres() != null) {
            lst.add(No);

            //guardarArchivoNoveddades(No);
        }
    }
    Collections.sort(lst, TablaNovedadEmpleado.comparet);
1
задан 19.01.2017, 23:04
0 ответов

Ошибка показывает проблему:

java.util. Восходите cannot be cast to java.sql. Восходите

ты посылаешь информацию о типе java.util.Date но он надеется быть полученным java.sql.Date

мне кажется, что проблема появляется в этих линиях кода:

 No.setFecha_inicio((Date) celda.getDateCellValue());

 No.setFecha_fin((Date) celda.getDateCellValue());

то, что ты можешь реализовывать, состоит в том, чтобы конвертировать тип java.util.Date в java.sql.Date

например:

No.setFecha_inicio(new java.sql.Date(((Date) celda.getDateCellValue()).getTime()));

и

No.setFecha_fin(new java.sql.Date(((Date) celda.getDateCellValue()).getTime()));
3
ответ дан 03.12.2019, 17:37
  • 1
    Большое спасибо, если он дал мне –  20.01.2017, 00:38
  • 2
    Что хорошо Виктор, ты только нуждался в том, чтобы послать подходящую стоимость, в этом случае типа java.sql. Восходите. б • ¦/Н - ‿ Нќ-\б • Ґ –  20.01.2017, 00:45

Теги

Похожие вопросы