powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ввод
8 сообщений из 8, страница 1 из 1
ввод
    #32277975
ruslan_r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите. Как при вводе программа проверила если одно из полей совподает чтобы выдало сообщение
...
Рейтинг: 0 / 0
ввод
    #32277988
viceroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уточни вопрос: что за поле?!..и т.п.
...
Рейтинг: 0 / 0
ввод
    #32278015
ruslan_r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как сделать чтобы при вводе новой записи программа проверила (например я ввожу новую запись там совпало фамилия, имя и дата рождения если в базе есть такие данные с такими реквизитами ) что бы выдало сообщение что такая запись уже существует.
...
Рейтинг: 0 / 0
ввод
    #32278220
realbold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BeforePost
А вообще Субд сама ругнется если индекс (без повторов) сделаешь
...
Рейтинг: 0 / 0
ввод
    #32278285
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если тебя интересует совпадение ключевого поля, то realbold прав - будет ошибка. Обработай ее при помощи try except.
А если интересуют другие поля, то пошли запрос
select count(*) from table1
where (field1 = 'fgfgf') and (field2 = 'rtrtrt') and (field3 = 53)
где field1, field2, field3 - интересующие тебя поля.
Если результат будет >0, то такая запись уже есть.
...
Рейтинг: 0 / 0
ввод
    #32278321
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извини ruslan_r, что спрашиваю в твоем топике, но уж очень интересно...\r
Скажи, realbold, решил ты проблему с вставкой в связанные таблицы?\r
Если решил, то, пожалуйста, поделись (мне тоже придется как-то ее решать).
...
Рейтинг: 0 / 0
ввод
    #32278384
Фотография Tung
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если MSSQL, уникальный индекс и поля укажи Ф. И. О. др. и тд
...
Рейтинг: 0 / 0
ввод
    #32278573
Малиновский Владимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Варианты:
- проверка на стороне сервера : делаем уникальный индекс по указанным полям. Сервер будет ругаться "Key violation _и_м_я_к_л_ю_ч_а_"
- проверка на стороне клиента : на событие OnBeforePost вешаем процедуру, которая делает выборку типа

var
DQry : TpFIBQuery;
begin
DQry := TpFIBQuery.Create(Self);
try
DQry.Transaction := MyDataBase.DefaultTransaction;
DQry.Database := MyDataBase;
DQry.SQL.Text := 'select count(*) from My_Table where fam=''Иванов'' ';
DQry.ExecQuery;
if DQry.Fields[0].asInteger = 0 then
raise Exception.Create('Повтор фамилии!')
finally
DQry.Free;
end
end


--------------
Ну, может, в деталях я ошибся. Очень рекомендую использовать оба способа: если клиент сглючил, то сервер отловит неправильные действия.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ввод
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]