Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > java методы crud |
Автор: karolinochka 26.5.2013, 09:08 |
не работают процедурыupdate train и update bus:(помогите пожалуйста найти ошибки и еще подскажите как выдать всю таблицу на экран.я пыталась сделать,вот что получилось @Override public String toString() { return "id: " +id+ " Flightnumber: " + flightnumber + " Pointofdeparture: " + pointofdeparture + " Pointofarrival: "+pointofarrival+" DSK: "+dsk; } |
Автор: Pawl 26.5.2013, 10:53 |
Как не работают? Виды ошибок, места возникновения? А то свою БД вы не приложили, проверить не как. И в каком классе находится процедура train? |
Автор: karolinochka 26.5.2013, 11:09 |
база в архиве .называется TRANSPORT.в traingateway,trainservice,user/ ошибка java.sql.DataTruncation: Data truncation at org.firebirdsql.jdbc.field.FBWorkaroundStringField.setString(FBWorkaroundStringField.java:78) at org.firebirdsql.jdbc.AbstractPreparedStatement.setString(AbstractPreparedStatement.java:434) at com.subwan.DAL.TrainGateway.merge(TrainGateway.java:95) at com.subwan.BL.TrainService.updateTrain(TrainService.java:28) |
Автор: Pawl 26.5.2013, 11:57 |
Ясно. Вашей СУБД у меня нету. Вы привели ошибки только касаемо train. А касаемо Bus и User? Выглядит так, будто не принимается тип Long. Я тут просмотрел метод setString класса FBWorkaroundStringField и обнаружил, что он принимает строковый параметр. |
Автор: karolinochka 26.5.2013, 12:15 |
вот бд.в traingateway процедура merge ,trainservice updatetrain и в user updatetrain.это то что отвечает за обновление транспорта......а bus аналогично сделано |
Автор: Pawl 26.5.2013, 12:20 | ||
Ясно. Вашей СУБД у меня нету. Выглядит так, будто не принимается тип Long. Я тут просмотрел метод setString класса FBWorkaroundStringField и обнаружил, что он принимает строковый параметр. Попробуйте для эксперимента все поля в БД сделать строковыми и использовать только метод
|
Автор: karolinochka 26.5.2013, 12:40 |
исправила все на String.теперь вот такая ошибка org.firebirdsql.jdbc.field.TypeConversionException: Error converting to int. T at org.firebirdsql.jdbc.field.FBIntegerField.setString(FBIntegerField.java:124) at org.firebirdsql.jdbc.AbstractPreparedStatement.setString(AbstractPreparedStatement.java:434) at com.subwan.DAL.TrainGateway.merge(TrainGateway.java:96) at com.subwan.BL.TrainService.updateTrain(TrainService.java:28) at com.subwan.UI.User.updateTrain(User.java:173) at com.subwan.UI.User.run(User.java:58) at SingleTable.main(SingleTable.java:24) |
Автор: Pawl 26.5.2013, 12:48 |
Мда... видимо я был не прав. Ведь setLong в методе save, я так понял, проходит? Тут еще может быть вариант с тем что вставляемые данные больше чем предназначеные для них колонки (truncate - усечение). Посмотрите тип соответствующего поля в БД, попробуйте увеличить его размер. |