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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.04.2018, 11:39
daftpankkk daftpankkk вне форума
Прохожий
 
Регистрация: 02.04.2018
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию запрет на добавление записи в бд если поле осталось пустым

вроде всё правильно сделал, но в бд добавляется пустая запись

Код:
procedure TForm4.BitBtn1Click(Sender: TObject);
begin
DataModule2.ADOTable1.Insert;
DataModule2.ADOTable1.FieldByName('fio').Text:=Edit2.Text;
DataModule2.ADOTable1.FieldByName('tab_nomer').Text:=Edit1.Text;
DataModule2.ADOTable1.FieldByName('dr').Value:=Datetostr(Form4.DateTimePicker2.Date);
DataModule2.ADOTable1.FieldByName('podr').Text:=ComboBox1.Text;
DataModule2.ADOTable1.FieldByName('dolj').Text:=ComboBox2.Text;
DataModule2.ADOTable1.FieldByName('data').Value:=Datetostr(Form4.DateTimePicker1.Date);
if length(Trim(Edit1.text))<1 then
begin
  Showmessage ('Не введено значение в поле'); close;
exit
end;
if length(Trim(Edit2.text))<1 then
begin
  Showmessage ('Не введено значение в поле');
exit
end;
 
if DataModule2.ADOTable1.Modified
then DataModule2.ADOTable1.Post;
MessageBox(Handle, 'Добавлена запись!', 'Сообщение', MB_ICONINFORMATION);
close;
end;
Ответить с цитированием
  #2  
Старый 02.04.2018, 18:31
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

Сначала проверяй поле, а только потом делай Insert. Что-то вроде
Код:
  if (Edit1.Text = '') or (Edit2.Text = '') then
    begin
      ShowMessage('Не введено значение в поле');
      Exit;
    end;
  DataModule2.ADOTable1.Insert;
  ...
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.

Последний раз редактировалось Kailon, 02.04.2018 в 18:35.
Ответить с цитированием
  #3  
Старый 02.04.2018, 18:32
Аватар для Guaho
Guaho Guaho вне форума
Начинающий
 
Регистрация: 27.08.2017
Сообщения: 173
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Код:
if Trim(Edit1.text) = '' then ....
И не exit в случае ошибки, а Abort.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter