![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить, есть ли запись в таблице при добавлении новой. [D6, MS Access]
tv © (2002-11-21 14:17:00)У меня есть база MS Access. Связываюсь с ней в Delphi через ADO (драйвер MS Jet 4). я добавляю новую запись в таблицу. Подскажите пожалуйста, как определить, есть ли уже эта запись в таблице.
sniknik (2002-11-21 20:05:00) [1]будете смеятся но в Access работает такой инсерт
INSERT INTO FLAGOUT (INCREM) SELECT TOP 1 6 FROM FLAGOUT WHERE 6 NOT IN (SELECT INCREM FROM FLAGOUT)
(что чему присваивается думаю понятно)
tv (2002-11-21 18:57:00) [2]2Jeer: Работа у меня именно однопользовательская.
tv (2002-11-21 18:54:00) [3]2 NickBat: Спасибо. У меня именно эта ситуация.
2 Lord Warlock: я использую не таблицу (TADOTable) a TADODataSet.
Jeer (2002-11-21 17:21:00) [4]И какая еще ХП для Access
RomanB (2002-11-21 15:36:00) [5]Между прочим индекс может содержать несколько полей, даже уникальный (иначе, какой толк от индексов?). Так что: вставляешь, если уже есть, то поругает!!!
NickBat (2002-11-21 15:02:00) [6]Мое мнение - он делает правильно. Другое дело, что запрос на количество и на вставку надо поместить в одну ХП.
Jeer (2002-11-21 14:53:00) [7]>NickBat © (21.11.02 14:41)
> tv.
>Ты делаешь правильно. Уникальный индекс не поможет, если тебе >нужна таблица без повторов по нескольким полям.
Он делает правильно для случая однопользовательской работы.
NickBat (2002-11-21 14:41:00) [8]> tv.
Ты делаешь правильно. Уникальный индекс не поможет, если тебе нужна таблица без повторов по нескольким полям.
Lord Warlock (2002-11-21 14:39:00) [9]Гм, а метод таблицы RecordCount не устраивает??
что-то типа:
if Table.RecordCount=0 then
begin
Table.Append;
...
Table.Post
end;
Если не устроит то можно использовать в условии Bof и Eof
ЗЫ Детский сад блин!
Prooksius (2002-11-21 14:37:00) [10]В смысле, ты не хочешь, чтобы были дубликаты?
Поставь уникальный индекс на нужное поле. Будет ругань при вставке дубликата.
Можно отдельным запросом проверять, есть ли запись.
tv (2002-11-21 14:30:00) [11]можно ли это сделать менее коряво?
tv (2002-11-21 14:29:00) [12]я делаю так: создаю запрос. если он возвращает ноль записей - добавляю в таблицу новую.
tv (2002-11-21 14:26:00) [13]2kostya: как из делфи определить есть ли запись в таблице. если ее нет, то добавить.
kostya (2002-11-21 14:22:00) [14]???