Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

При попытке записи в поле типа DATE выскакивает ошибка [D5, IB5.x]


СержК ©   (2004-11-25 16:29:00) 

Мастера подскажите - очень нужно.

Возникла необходимость переписать свой старый проект. Но вылетает ошибка:
Translate Error. Value out of bounds.

Эта ошибка вылетает при попытке внесения информации в поле типа Date.

Я давно уже не следил за этим проектом (не было необходимости).
Не поленился сходить к пользователю - у него все работает отлично. Ошибка вылетает при работе с моей рабочей станции.
Что это может быть и как с этим бороться???


СержК   (2004-11-26 10:55:00) [1]

Попробовал - TField.DisplayFormat все ОК.

Огромное спасибо.


Johnmen   (2004-11-26 10:40:00) [2]

Есть. Напр., TField.DisplayFormat


СержК   (2004-11-26 10:36:00) [3]

Машины разные ОС от Win98 до Win2000 (даже когда-то стояло на NT4). Версия BDE везде одинакова - я создал инсталяху, и ставлю эту программу с ее помощью.

Ну да ладно - пусть это остается тайной. Все равно большое спасибо за советы. Буду переписывать код под DateTime.

Да кстати, нет ли стандартного способа отобразить в гриде DateTime как Date (чтобы не создавать вычисляемого поля для обработки)?


Johnmen   (2004-11-26 10:17:00) [4]

Ну я же ничего не знаю про другие рабочие станции.
Чем они отличаются от данной ? Какая там версия БДЕ, например ?


СержК   (2004-11-26 10:07:00) [5]

Так почему-же на других рабочих станциях (у пользователей) все работает без проблем уже почти два года? Я про них уже почти забыл. И столько бы еще проработало если бы не пришлось переделывать проект под новые задачи.


Johnmen   (2004-11-26 09:54:00) [6]

Ответ прост.
Если бы ты заглянул в справочное руководство по IB5, то узнал бы, что поле типа Date предназначено для хранения дата+время, т.е. а ля datetime. А значит и работать с ним надо соответственно.


СержК   (2004-11-26 09:37:00) [7]

Вот фрагмент кода:

begin
  QueryEdit.ParamByName('updRES').AsInteger:=nRES;
  QueryEdit.ParamByName('updDate').AsDate:=DateTimePicker1.Date;
  Database1.StartTransaction;
  QueryEdit.ExecSQL;
  if InTransaction then Database1.Commit;
end;

Вот SQL запрос:

Update Arhiv_zayvka Set Res=:updRES,
                       Date_zayvl=:updDate
Where Rec=1000

Вот ошибка: Translate Error. Value out of bounds.
Ошибка вылетает после ExecSQL


Johnmen   (2004-11-26 09:25:00) [8]

>В запросе параметр описан как: AsDate - при выполнении запроса
>вылетает ошибка.

Что такое AsDate ? Где это написано ?
СтОит обратить внимание на TDateTime+TDate+F1
MsSQL тут непричем, ес-но.
Уточню [1] - ошибка (какая, кстати?) в 17 строке.


СержК   (2004-11-26 09:14:00) [9]

Мастера, ничего не получается.

Поле в БД тип Date.
В запросе параметр описан как: AsDate - при выполнении запроса вылетает ошибка.

Если изменяю параметр в запросе на AsDateTime - все прокатывает нормально, но при просмотре в гриде в проекте - естественно DateTime, а нужен Date.

Проект написан на D5. После на машину поставил D7 и MsSQL.
На машине сейчас стоит D5,D7,IB5,MsSQL.

Не могут ли мои проблеммы быть связаны с конфликтом установленного ПО?


a3a3ello   (2004-11-25 17:15:00) [10]

А не может быть проблема в локальных настройках даты твоей рабочей станции? Типа dd.mm.yyyy или mm.dd.yyyy.


a3a3ello   (2004-11-25 17:15:00) [11]

А не может быть проблема в локальных настройках даты твоей рабочей станции? Типа dd.mm.yyyy или mm.dd.yyyy.


Anatoly Podgoretsky   (2004-11-25 16:58:00) [12]

А все таки подумай об [1] самое что есть вероятное, поскольку такой ошибки быть не может.


СержК   (2004-11-25 16:48:00) [13]

Я не буду утверждать, но похоже нет.

Эта программа написана приблизительно 2 года назад. Все у меня работало отлично. У пользователя до сих пор работает.

Я думаю о другом: я что-то ставил и что-то снес...Но что?
IB уже переустановил не помогло.


Fay   (2004-11-25 16:35:00) [14]

Похоже, у тебя ошибка в программе...


Наверх

Титульная страница Поиск, карта сайта Написать письмо