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