Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.09;
Скачать: CL | DM;

Вниз

Как определить, есть ли запись в таблице при добавлении новой.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
8-28152
Soft
2002-08-19 21:45
2002.12.09
Каким образом можно преобразовать данные с TIcon в TBitmap ?


14-28288
neXt
2002-11-15 16:07
2002.12.09
regsrv32.exe


6-28176
Olorin
2002-10-15 10:59
2002.12.09
редиректор с порта на порт...


1-27991
pavel_ak
2002-11-29 14:21
2002.12.09
TOleContainer не хочет создавать объект


1-28002
tga
2002-11-28 07:21
2002.12.09
Помогите! плиззз. Execel не закрывается!!!