Я вижу потенциал для двух возможных проблем, во-первых, исключение NullPointerException в
duedate.substring(1,10)
потому что вы действительно не знаете, если
String duedate = rs1.getString("duedate");
было установлено значение или ноль. Возможно, в вызове rs1.getString (...) нет возвращаемой строки.
Другая потенциальная проблема заключается в том, что вы никогда не проверяете, что duedate имеет длину более 10 символов. Если вы запрашиваете подстроку, то она должна быть в возвращенной строке. Например, я бы ожидал код:
String abc = "abc";
abc.substring(4, 24);
для создания исключения, возможно, ArrayOutOfBoundsException, но до тех пор, пока оно вызывает некоторое исключение, это будет правильно.