это часть моего кода мой код:[Microsoft] [ODBC Manager Driver] Недопустимая строка или буфер длиной исключения
Connection dbcon=null;
Statement stm;
ResultSet rs;
ResultSetMetaData metadata;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (java.lang.ClassNotFoundException e) {
System.out.print("ClassNotFoundException: ");
System.out.println(e.getMessage());
}
try {
dbcon = DriverManager.getConnection("jdbc:odbc:Bus_Info");
stm = dbcon.createStatement();
rs = stm.executeQuery("select distinct number, name, min(Stop_Times.departure_time), max(Stop_Times.departure_time) from Routes, Stop_Times, Stops, trips, Calendar where(stops.stop_name like'ΣΟΝΙΑ' and Stops.stop_id=Stop_Times.stop_id and Stop_Times.trip_id=trips.trip_id and trips.route_id=Routes.route_id and trips.direction='outbound' and sunday=1 and Calendar.service_id=trips.service_id)group by number, name");
metadata = rs.getMetaData();
int columns = metadata.getColumnCount();
System.out.printf("%s\t%s\t%s\t%s", "ΑΡΙΘΜΟΣ ΓΡΑΜΜΗΣ",
"ΟΝΟΜΑ ΓΡΑΜΜΗΣ", "ΧΡΟΝΟΣ ΔΥΙΕΛΕΣΗΣ ΠΡΩΤΟΥ ΔΡΟΜΟΛΟΓΙΟΥ",
"ΧΡΟΝΟΣ ΔΙΕΛΕΥΣΗΣ ΤΕΛΕΥΤΑΙΟΥ ΔΡΟΜΟΛΟΓΙΟΥ");
System.out.println();
while(rs.next()) {
System.out.printf("%s\t%s\t%s\t%s\n", rs.getString("number"), rs.getString("name"),
rs.getString("min(Stop_Times.departure_time)"),
rs.getString("max(Stop_Times.departure_time"));
}
rs.close();
stm.close();
dbcon.close();
} catch (SQLException e) {
System.out.print("SQLException: ");
System.out.println(e.getMessage());
}
проблема здесь заключается в том, что, когда я хочу, чтобы отобразить два или несколько столбцов, я получаю это сообщение:
"[Microsoft] [ODBC Driver Manager] Недопустимая строка или исключение длина буфера"
что я делаю неправильно? благодарим заранее!
Я думаю, что для символов Юникода вам нужно использовать нотацию N''', например: 'like N'ΣΟΝΙΑ'' – cha
Я пробовал это, но это не связано с этим исключением – theosot
Почему вы используете rs. getstring в столбце даты? Разве вы не хотели использовать getdate? В качестве альтернативы вы можете преобразовать свои минимальные и максимальные даты в оператор SQL – cha