Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 15

Проверка в Dbgrid

18.05.2017, 21:13. Показов 2540. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Имеется простая база данных с одной таблицей Paradox 7. Как организовать проверку при занесении данных в таблицу, чтобы поле GodRozhdeniya было больше 2000 и поле GodVstypleniya было больше GodRozhdeniya?
Миниатюры
Проверка в Dbgrid  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.05.2017, 21:13
Ответы с готовыми решениями:

Проверка заполнения ячейки DBGrid
Подскажите пожалуйста, мне нужно проверить пуста ли ячейка TDataSet *ds; ds = Form1->DBGrid1->DataSource->DataSet; ...

Проверка на существующую запись DBGrid
Привет. Подскажите как сделать проверку, на колонку login, если такой пользователь там есть то не добавлять его и выводить сообщение...

Проверка заполненности столбца DBGrid
Имеются несколько столбцов, скрытых. При щелчке по битбаттон столбец становится видимым и юзер вводит информацию. Как сделать проверку на...

10
5975 / 4550 / 1095
Регистрация: 29.08.2013
Сообщений: 28,170
Записей в блоге: 3
18.05.2017, 23:56
Цитата Сообщение от ProJect97 Посмотреть сообщение
Имеется простая база данных
это у вас не база данных, это просто dbf файл

средствами dbf такой проверки не сделать
когда пользователь будет вносить данные на форме - тогда и проверяйте
0
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 15
20.05.2017, 18:52  [ТС]
qwertehok, форма у меня создана.
Миниатюры
Проверка в Dbgrid  
0
5975 / 4550 / 1095
Регистрация: 29.08.2013
Сообщений: 28,170
Записей в блоге: 3
20.05.2017, 18:57
и?

ты задал вопрос - я вроде бы ответил
если что-то непонятно - задавай другие вопросы
0
 Аватар для Пытливый
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
20.05.2017, 19:02
Я вижу у вас на форме компонентик TTable которым вы похоже и цепляете свой файлик. Так вот в нем есть событие BeforePost. Вот с ним вам и надо поработать примерно так:
Delphi
1
2
3
4
5
procedure TForm1.Table1BeforePost(DataSet: TDataSet);
begin
 if DataSet['GodRozhdeniya'] < 2000 then raise Exception.Create('Дядям низя!'); 
 if DataSet['GodVstypleniya'] <= DataSet['GodRozhdeniya'] then raise Exception.Create('Карапузы не пройдут!);
end;
1
Модератор
 Аватар для D1973
9921 / 6457 / 2457
Регистрация: 21.01.2014
Сообщений: 27,406
Записей в блоге: 3
21.05.2017, 06:36
ProJect97,
1. Почему это у Вас поле GodRozhdeniya - текстовое оказалось? Этому полю прямой путь быть целочисленным. Тогда достаточно при проектировании базы выставить поле Minimum Value в 2000 и все, в это поле нельзя будет ввести никакое число, меньшее 2000
2. Почему у вас поля (бр-р-р, имена на транслите...) типа Number? Ведь это, априори, целые короткие числа. Вот и выбирайте тип Short
3. В поле ID, я так понимаю, Вы собрались вводить ФИО? Полная ерунда по 2-м пунктам сразу:
а. По теории нормазизации таблиц поле ФИО требуется разделить на 3: Фамилия, Имя и Отчество по отдельности...
б. А Вы не предполагаете ситуации, когда в одной команде могут оказаться полные тезки? Да запросто! И как же тогда их в базу вносить, если поле ID у Вас - первичный ключ, подразумевающий уникальность вводимых значений?
0
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 15
21.05.2017, 16:16  [ТС]
D1973,
1. Поле изначально было целочисленным. Не мог заставить работать фильтрацию по этому полю. Делфи выдавало ошибку на тип данных;
2. При запуске имена становятся на русском;
3. Уже ткнули в этот косяк, но менять что-то уже поздно;
Спасибо за помощь, попробую Ваш вариант.

Добавлено через 2 часа 4 минуты
Пытливый, добавил процедуру. Делфи как будто её не видит, т.е. любые числа добавляются без проблем.
0
 Аватар для Пытливый
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
21.05.2017, 16:31
Процедуру написать - половина задачи. Теперь вам еще в событии ее надо упомянуть
1
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 15
21.05.2017, 16:50  [ТС]
Пытливый, можно подробнее?
0
 Аватар для Пытливый
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
21.05.2017, 16:58
Лучший ответ Сообщение было отмечено ProJect97 как решение

Решение

Ну вы блин даете.
У вас есть на форме компонентик Table1 если в него ткнуть мышой то появится Object Inspector(Инспектор объектов), а в нем есть вкладка Events(События), где есть событие BeforePost. Если в него ткнуть мышой, то из выпадающего списка надо выбрать название процедуры Table1BeforePost.
1
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 15
21.05.2017, 17:17  [ТС]
Пытливый, в программировании не силён. Спасибо, всё заработало
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.05.2017, 17:17
Помогаю со студенческими работами здесь

Проверка на наличие записи в DBGrid
Допустим у нас есть некая система , и нам надо в неё войти , ресистрацию я сделал ,а вот как сделать вход, что бы при вводе данных и...

Проверка правильности ввода в DBGrid
Как реализовать проверку правильности пользовательского ввода данных в таблицу? В каком обработчике событий? Например, если пользователь...

DBGRID сложная проверка на обновление данных
Здравствуйте. Есть DBGRID DATASOURCE ADOQUERY всё связанно между собой. Данные берутся из db файла Таблица выгляит след. образом: ...

DBGRID сложная проверка на обновление данных
Здравствуйте. Есть DBGRID DATASOURCE ADOQUERY всё связанно между собой. Данные берутся из db файла Таблица выгляит след. образом: ...

Выбор данных из DBGrid и проверка Edit
Здравствуйте! Имеется DBGrid, к которому привязана Access таблица. Как можно достать выбранную строку данных из таблицы. скрин: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru