Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.05.2013, 16:04
sandysman sandysman вне форума
Новичок
 
Регистрация: 27.03.2012
Сообщения: 60
Репутация: 10
По умолчанию Обработка ошибок в БД

Все здравствуйте, не могу допереть как обработать ошибку на удаление элемента в таблице, пишу так
Код:
procedure TDM.Table1DeleteError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
try
Table1.Delete;
except
on E: Exception do begin
            ShowMessage ('Ошибка удаления'+E.Message);
            exit;
                    end

end;
end;
компилятор ругается на showmessage, может кто подскажет в чем проблема?
Ответить с цитированием
  #2  
Старый 22.05.2013, 16:09
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

Цитата:
Сообщение от sandysman
Все здравствуйте, не могу допереть как обработать ошибку на удаление элемента в таблице, пишу так
Код:
procedure TDM.Table1DeleteError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
try
Table1.Delete;
except
on E: Exception do begin
            ShowMessage ('Ошибка удаления'+E.Message);
            exit;
                    end

end;
end;
компилятор ругается на showmessage, может кто подскажет в чем проблема?
хз. у меня вот так - работает)
Код:
...
except
    on E : Exception do
    begin
      progressbar1.State:=pbsError;
      messageDlg('Ошибка!'+#13+E.Message, mtError, [mbOK], 0);
      exit;
    end;
...
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
Этот пользователь сказал Спасибо Mrak за это полезное сообщение:
sandysman (22.05.2013)
  #3  
Старый 22.05.2013, 16:15
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

В uses добавить надо dialogs вроде.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
sandysman (22.05.2013)
  #4  
Старый 22.05.2013, 16:38
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Да, bro M.A.D.M.A.N. прав, добавьте модуль Dialogs в uses формы.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
sandysman (22.05.2013)
  #5  
Старый 22.05.2013, 17:52
sandysman sandysman вне форума
Новичок
 
Регистрация: 27.03.2012
Сообщения: 60
Репутация: 10
По умолчанию

Спасиб помогло, но сообщения все равно толком не выводится, пишет sql ошибку. В еще такой вопрос, как при помощи Table сделать автоматический ввод пароли и логина БД? а то задалбливает постоянно вводить их)
Ответить с цитированием
  #6  
Старый 22.05.2013, 17:59
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

Цитата:
Сообщение от sandysman
Спасиб помогло, но сообщения все равно толком не выводится, пишет sql ошибку. В еще такой вопрос, как при помощи Table сделать автоматический ввод пароли и логина БД? а то задалбливает постоянно вводить их)
сделай loginprompt = True
можно посмотреть про udl файлы
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
Этот пользователь сказал Спасибо Mrak за это полезное сообщение:
sandysman (22.05.2013)
  #7  
Старый 23.05.2013, 12:03
sandysman sandysman вне форума
Новичок
 
Регистрация: 27.03.2012
Сообщения: 60
Репутация: 10
По умолчанию

Еще такой вопрос, пытаюсь сделать
Код:
Table1.Refresh;
Выдает ошибку, пишет не подходит индекс, или не соответствует, в чем может быть ошибка?
Ответить с цитированием
  #8  
Старый 23.05.2013, 12:37
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Датасет по новой походу вытягивать надо.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #9  
Старый 23.05.2013, 12:45
sandysman sandysman вне форума
Новичок
 
Регистрация: 27.03.2012
Сообщения: 60
Репутация: 10
По умолчанию

Это значит, надо писать
Код:
Datasource.dataset.fieldbyname();
Ответить с цитированием
  #10  
Старый 23.05.2013, 14:35
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

может так заработает
Код:
table.close;
table.open;
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
Этот пользователь сказал Спасибо Mrak за это полезное сообщение:
sandysman (23.05.2013)
  #11  
Старый 24.05.2013, 14:38
sandysman sandysman вне форума
Новичок
 
Регистрация: 27.03.2012
Сообщения: 60
Репутация: 10
По умолчанию

Еще такой вопрос, функция lookup, не до конца понимаю как пользоваться. в Table создаю новое поле в котором пишу key, lookupkey, dataset, result, первые два поля должны совпадать вроде по ключевым полям, датасет, как я понял, должен содержать второй table который настроен на таблицу в которой есть ключевое поле из первого table. Подскажите правильно я мыслью?
Ответить с цитированием
  #12  
Старый 24.05.2013, 17:43
sandysman sandysman вне форума
Новичок
 
Регистрация: 27.03.2012
Сообщения: 60
Репутация: 10
По умолчанию

С эти разобрался, теперь такой вопрос появился, как Lookup поле создать программно, просто если использовать только одни тайблы это полный ппц, сколько их надо.
Ответить с цитированием
  #13  
Старый 24.05.2013, 17:53
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

выкинь table
возьми query

http://delphi-box.ru/query-delphi.html
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
Этот пользователь сказал Спасибо Mrak за это полезное сообщение:
sandysman (30.05.2013)
  #14  
Старый 30.05.2013, 14:53
sandysman sandysman вне форума
Новичок
 
Регистрация: 27.03.2012
Сообщения: 60
Репутация: 10
По умолчанию

Вылетает ошибка на дбедит поэтому такой вопрос как его правильно закрыть? пишут так
Код:
dbedit1.dataset:=nil;
dbedit1.tablename:='';
Ответить с цитированием
  #15  
Старый 30.05.2013, 17:01
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

оригинально
Код:
adoquery.close;
или с чем там у тебя эдит связан
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:57.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter