Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2007, 14:07   #11
Radost
 
Регистрация: 31.05.2007
Сообщений: 9
По умолчанию

это где делается?
Radost вне форума Ответить с цитированием
Старый 01.06.2007, 14:43   #12
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

че там кстати за begin... end? на сколько я знаю, try except без них пишеца.
try
// код, в котором может быть ошибка
except
// произошла ошибка
end;
pu4koff вне форума Ответить с цитированием
Старый 01.06.2007, 15:11   #13
Radost
 
Регистрация: 31.05.2007
Сообщений: 9
По умолчанию

а если между try и except несколько команд, все равно без begin?
Radost вне форума Ответить с цитированием
Старый 01.06.2007, 15:45   #14
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Да, все равно без begin
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 02.06.2007, 11:53   #15
Radost
 
Регистрация: 31.05.2007
Сообщений: 9
По умолчанию

Я попробовала сделать вот так:
try
Table_dohod.Open;
Table_dohod.Edit;
Table_dohod.FieldByName('Точка').As String:=TochkaName;
Table_dohod.FieldByName('Дата').AsD ateTime:=StrToDate(newDate);
Table_dohod.FieldByName('Сумма').As Integer:=StrToInt(Sum);
Table_dohod.Post;
ShowMessage('Данные сохранены!');
Summa.Text:='';
except
On E:EDatabaseError do
begin
e.message:='Данные за указанный день по выбранной точке уже заведены!';
messageDlg(e.message, mtError,[mbOK],0);
end
end;

В принципе работает, но почему-то не на всех записях. Завела одну строку, потом такую же-обработалось как надо. Завела следующую строку, при попытке вставить такую же она просто вставляет и все, то есть не ругается. Как то выборочно работает...Где ошибка и из-за чего это может быть???
Radost вне форума Ответить с цитированием
Старый 02.06.2007, 12:05   #16
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

Это уже ошибка в базе, скорее всего не все constraint-ы заведены.
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 02.06.2007, 12:48   #17
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Действительно больше на косяки в базе похоже.
Ну а так чисто по коду:
Код:
On E:EDatabaseError do
begin
e.message:='Данные за указанный день по выбранной точке уже заведены!';
messageDlg(e.message, mtError,[mbOK],0);
end
смысла в такой организации я не вижу. Вроде проще написать вместо этого:
Код:
messageDlg('Данные за указанный день по выбранной точке уже заведены!', mtError,[mbOK],0);
pu4koff вне форума Ответить с цитированием
Старый 03.06.2007, 11:07   #18
Radost
 
Регистрация: 31.05.2007
Сообщений: 9
По умолчанию

Таблица с тремя полями:текстовое, дата, числовое. Текстовое и дата-ключевые.
Какого рода могут быть косяки?
Radost вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как работает win rar? Altera Свободное общение 2 30.03.2008 08:05
не работает! RECREATOR Общие вопросы Delphi 6 29.11.2007 12:42
не работает glColorTable n01z Компоненты Delphi 0 20.11.2007 18:31
Цикл не работает...? Иринкаа Помощь студентам 6 17.11.2007 00:27