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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2010, 12:52   #1
WALL
Пользователь
 
Регистрация: 04.10.2010
Сообщений: 67
По умолчанию Запись в базу по отдельности

Есть на воме несколько DBComboBox и edit, я прописал sql запрос на кноку чтобы эти данные вводились в базу, на у меня вводиться все DBComboBox и edit, даже если они пустые, и базе создаються пустые строчки. Как сделать чтобы если я DBComboBox и edit, не использовал они не заносились в базу????
WALL вне форума Ответить с цитированием
Старый 30.10.2010, 13:17   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Код:
if Trim(Edit1.Text)>'' then
//запись в БД
mihali4 вне форума Ответить с цитированием
Старый 30.10.2010, 13:34   #3
WALL
Пользователь
 
Регистрация: 04.10.2010
Сообщений: 67
По умолчанию

Код:
FormatDateTime('mm',Form5.DateTimePicker1.Date);
       Form4.ADOQuery1.Open;
       Form4.ADOQuery1.Insert;
       Form4.ADOQuery1.FieldByName('Фамилия').AsString:=Form5.Edit1.Text;
       Form4.ADOQuery1.FieldByName('Имя').AsString:=Form5.Edit2.Text;
       Form4.ADOQuery1.FieldByName('Отчество').AsString:=Form5.Edit3.Text;
       Form4.ADOQuery1.FieldByName('Дата').AsDateTime:=Form5.DateTimePicker1.Date;
       Form4.ADOQuery1.Post;
       Form4.ADOTable1.Open;
       Form4.ADOTable1.Insert;
       Form4.ADOTable1.FieldByName('Продукт_питания').AsString:=Form5.DBLookupComboBox1.text;
       Form4.ADOTable1.FieldByName('Количество').AsString:=Form5.Edit5.Text;
       Form4.ADOTable1.FieldByName('срок хранения').AsString:=Form5.Edit4.Text;
       Form4.ADOTable1.FieldByName('температура C').AsString:=Form5.Edit6.Text;
       Form4.ADOTable1.Post;
       
       Form4.ADOTable1.Insert;
       Form4.ADOTable1.FieldByName('Продукт_питания').AsString:=Form5.DBLookupComboBox2.text;
       Form4.ADOTable1.FieldByName('Количество').AsString:=Form5.Edit7.Text;
       Form4.ADOTable1.FieldByName('срок хранения').AsString:=Form5.Edit4.Text;
       Form4.ADOTable1.FieldByName('температура C').AsString:=Form5.Edit6.Text;
       Form4.ADOTable1.Post;

       Form4.ADOTable1.Insert;
       Form4.ADOTable1.FieldByName('Продукт_питания').AsString:=Form5.DBLookupComboBox3.text;
       Form4.ADOTable1.FieldByName('Количество').AsString:=Form5.Edit8.Text;
       Form4.ADOTable1.FieldByName('срок хранения').AsString:=Form5.Edit4.Text;
       Form4.ADOTable1.FieldByName('температура C').AsString:=Form5.Edit6.Text;
       Form4.ADOTable1.Post;

        Form4.ADOTable1.Insert;
        Form4.ADOTable1.FieldByName('Продукт_питания').AsString:=Form5.DBLookupComboBox4.text;
        Form4.ADOTable1.FieldByName('Количество').AsString:=Form5.Edit9.Text;
        Form4.ADOTable1.FieldByName('срок хранения').AsString:=Form5.Edit4.Text;
        Form4.ADOTable1.FieldByName('температура C').AsString:=Form5.Edit6.Text;
         Form4.ADOTable1.Post;
        Form5.Edit1.Clear;
  Form5.Edit2.Clear;
  Form5.Edit3.Clear;
  Form5.Edit5.Clear;
  Form5.Edit7.Clear;
  Form5.Edit8.Clear;
  Form5.Edit9.Clear;

end;
Вот код как сделать чтобы каждая группа вводилась, отдельно, в если я не ввожу туда нечиго не выводились пустые строки
WALL вне форума Ответить с цитированием
Старый 30.10.2010, 15:22   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Трудновато что-то тебя понять, попробую стелепатировать: Ты хочешь запретить запись в БД в том случае если у тебя хотябы один из Эдитов пустой, так?
Тогда этот код ты кинь в обработчик клика кнопки, а на все Эдиты на Форме5 посади один и тот же обработчик:
Код:
 for i:=0 to ControlCount-1 do begin
  if (Control[i] is TEdit)and(TEdit(Control[i]).Text='') then begin
    ButtonЗаписи.Enabled:=false;exit;
  end;
 end;
 ButtonЗаписи.Enabled:=True;
Таким образом кнопка станет доступной только тогда когда во всех Эдитах будет что-то введено.

P.S. когда я говорю "один обработчик на несколько эдитов", это не значит что каждому Эдиту нужно создавать свой обработчик с таким же кодом, просто выдели все эдиты и назначь им один и тот же обработчик

Уловил идею?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2010, 15:28   #5
WALL
Пользователь
 
Регистрация: 04.10.2010
Сообщений: 67
По умолчанию

но и не только edit но еще и DBComboBox чтобы если они оба пусты то их не записывать в БД

14:39

вот как надо исправить как-то

У нас принято пользоваться кнопочкой "Правка", дабы не плодить посты подряд, друг за другом.
Читаем правила. Рекомендую. Помимо общих правил форума есть и дополнения к ним в каждом разделе...
Уважайте форумчан, и они ответят вам взаимностью...
А пока красная карточка за флуд.
Модератор
Изображения
Тип файла: jpg Безымянный1.jpg (19.7 Кб, 154 просмотров)
Тип файла: jpg Безымянный2.jpg (13.6 Кб, 154 просмотров)

Последний раз редактировалось mihali4; 30.10.2010 в 15:46.
WALL вне форума Ответить с цитированием
Старый 31.10.2010, 15:33   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
if 
  (Control[i] is TDBComboBox )and(TDBComboBox (Control[i]).Text='') 
then begin
...
И так в принципе можно приводить Control[] к нужному компоненту и его проверять.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.10.2010, 20:23   #7
WALL
Пользователь
 
Регистрация: 04.10.2010
Сообщений: 67
По умолчанию

DBLookupComboBox и edit мне нужно что эти два компонетнат вместе, если они пыстые не записывались в БД. как дописать в мой текущий код серху ?
WALL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БД ( Поиск критериев по отдельности) marsius БД в Delphi 3 02.04.2010 22:16
Рекурсия и запись в базу [MI_nor] PHP 3 23.01.2010 23:01
Как записать каждое число в отдельности в переменную Xcopy Общие вопросы Delphi 12 01.12.2009 17:12
Запись из файла txt или mdb в базу данных DerSky БД в Delphi 6 09.06.2008 12:50