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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 05.03.2008, 14:13   #1
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию запрет на ввод пустой записи

как сделать, что если он не заполнил все поля и не сохранил, добавление новой записи невозможно
ГОСЕАН вне форума
Старый 05.03.2008, 16:08   #2
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
как сделать, что если он не заполнил все поля...добавление новой записи невозможно
Пробегись по всем полям в DataSet (с помощью цикла) с условием на поиск пустой строки и делай нужную реакцию.

Цитата:
как сделать, что если он не сохранил...добавление новой записи невозможно
Поставь в обработчике кнопки "Сохранить" что-то типа <кнопка новой записи>.Enable:=True;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...

Последний раз редактировалось Yurk@; 05.03.2008 в 16:10.
Yurk@ вне форума
Старый 05.03.2008, 16:39   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,091
По умолчанию

ну так вроде в СУБД есть такое понятие как необходимые поля, пока которые не заполнишь, запись не добавица
pu4koff вне форума
Старый 06.03.2008, 15:57   #4
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
ну так вроде в СУБД есть такое понятие как необходимые поля, пока которые не заполнишь, запись не добавица
в Sql Server2000 как вы себе представляете?
ГОСЕАН вне форума
Старый 06.03.2008, 16:00   #5
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
Пробегись по всем полям в DataSet (с помощью цикла) с условием на поиск пустой строки и делай нужную реакцию.


Поставь в обработчике кнопки "Сохранить" что-то типа <кнопка новой записи>.Enable:=True;
а моно примерчик

ГОСЕАН вне форума
Старый 06.03.2008, 16:15   #6
ГОСЕАН
Форумчанин
 
Аватар для ГОСЕАН
 
Регистрация: 03.05.2007
Сообщений: 247
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
Пробегись по всем полям в DataSet (с помощью цикла) с условием на поиск пустой строки и делай нужную реакцию.


Поставь в обработчике кнопки "Сохранить" что-то типа <кнопка новой записи>.Enable:=True;
а моно примерчик

ГОСЕАН вне форума
Старый 06.03.2008, 17:13   #7
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Что-то в этом роде:
Код:
procedure TForm1.btnSaveClick(Sender: TObject);
var
i:integer;
begin
for i:=0 to Table1.FieldCount-1 do  // проверяем каждое поле в DataSet
begin
if Length(Table1.DataSource.DataSet.Fields[i].AsVariant)=0 then
ShowMessage('Сообщение о пустом поле')   //если есть хоть одно пустое поле
else
btnNew.Enabled:=True;             //если все нормально
end;
end;
Предварительно btnNew должно быть Enabled:=False;

ЗЫ: Могуть быть мелкие неточности, т.к. спешил!
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума
Старый 06.03.2008, 17:52   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,091
По умолчанию

Цитата:
Сообщение от ГОСЕАН Посмотреть сообщение
в Sql Server2000 как вы себе представляете?
ну при создании поля пишешь not null. Получица что-то вроде:
field1 varchar(10) not null

кажеца как-то так. разве что ошибка будет по англицки написана. это минус, но зато проще и логичнее. или же может я не так понял суть проблемы
pu4koff вне форума
Старый 06.03.2008, 18:13   #9
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

Цитата:
как сделать, что если он не заполнил все поля
на батоне посесь обработчик на заполнения не полей а самого эдита...
или же тебе уже посоветовали через not null...
но при таком случае будет exception
dron-s вне форума
Старый 07.03.2008, 06:05   #10
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

И все-таки самое логичное это как уже было упомянуто это в таблице запретить пустые поля. В SQL2000 в дизайнере таблицы уберите галку Allow Nulls. А ошибку можно легко перехватить через try..except и вывести свое сообщение.
Баламут вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Забыл как сделать запрет на ввод с клавы diznt Помощь студентам 5 20.08.2008 23:26
Пустой список Executr Общие вопросы Delphi 5 02.06.2008 20:55
Удалить не пустой каталого Иллидан Общие вопросы Delphi 14 19.05.2008 08:55
Проверка пустой католог или нет! Pashekka Общие вопросы Delphi 10 27.09.2007 01:21