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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2012, 08:39   #1
JDmit
 
Регистрация: 03.06.2012
Сообщений: 9
По умолчанию проверка записей в DBGrid

на форме есть Table, DataSource, DBGrid и кнопка

как сделать так, чтобы кнопка работала только при полностью заполненной записи в БД, а если запись заполнена не полностью (не все столбцы), то появлялось сообщение "заполните запись"
JDmit вне форума Ответить с цитированием
Старый 04.06.2012, 09:46   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
var
  nullfield: TField;
  ds: TDataSet;
  s: string;

nullfield:=nil;
ds:=DBgrid.Datasource.dataSet;  //эта строка здесь 
только для того чтобы подчеркнуть что DBGrid здесь совсем не при чем. 
а нужен только набор данных связанный с ним.
for j:=0 to ds.fileds.count-1 do 
  if ds.fields[j].is null then begin
    nullfield:=ds.fields[j];
  end;
buttn.enabled:=(nullfield =nil);
if nullfiled<>nil then begin
  s:=format('пожалуйста заполните поле %s', [nullfield.fieldname] );
  showmessage(s);
end;
З.Ы. Хотя возможен и вариант и необходимости DBGrid, но задание в этом случае должно звучать немного по другому.
Цитата:
работала только при полностью заполненной записи в БД
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 04.06.2012, 09:51   #3
fbus
Форумчанин
 
Аватар для fbus
 
Регистрация: 23.10.2008
Сообщений: 460
По умолчанию

вообще для этого целесообразней делать на других контролах (типа TEdit ну или по своему вкусу) и проверять уже в них. и кнопку "добавить" соответственно показывать если заполнены контролы. а dbgrid - это визуализация того что уже находится в таблице. т.е. если у Вас связь с БД настроена правильно то при вводе значения ячейки она УЖЕ записывается в БД.
fbus вне форума Ответить с цитированием
Старый 04.06.2012, 11:27   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
вообще для этого целесообразней делать на других контролах
С чего бы это? Право на жизнь имеют разные способы ввода информации. И далеко не факт, что при вводе значения ячейки она УЖЕ записывается в БД. В программе можно реализовать по разному
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.06.2012, 08:43   #5
JDmit
 
Регистрация: 03.06.2012
Сообщений: 9
По умолчанию

все, разобрался) спасибо)
JDmit вне форума Ответить с цитированием
Старый 07.06.2012, 16:44   #6
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 149
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
С чего бы это? Право на жизнь имеют разные способы ввода информации. И далеко не факт, что при вводе значения ячейки она УЖЕ записывается в БД. В программе можно реализовать по разному
Право-то имеют, базара нет. Но вот разделять просмотр и редактирование - это более чем целесообразно. Особенно, если не с TDBGrid работать (:.
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
ych_del вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка записей в таблице БД Access Slobodchikov_y БД в Delphi 2 07.03.2012 01:26
Добавление/ удаление записей в dbGrid Girl-bird БД в Delphi 6 31.05.2011 01:55
Проверка добавления записей в БД ара Помощь студентам 3 30.01.2011 10:53
Проверка записей в DBGrid Stranger333 БД в Delphi 14 12.07.2010 18:11
Выбор записей в DBGrid-e artemavd БД в Delphi 12 16.05.2009 19:45