Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2010, 23:23   #1
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию Вставка записи в БД, если ее там нет.

Здравствуйте. Я подключаюсь БД dbf из delphi посредством ADOQuery через OLE DB Provider for FoxPro. Так вот у меня например если в БД запись шде pole1=1 pole2=1 pole3=1 и мне надо вставить запись и если запись равна
pole1=1 pole2=1 pole3=1 то есть уже есть в БД мне ее вставлять не надо. Подскажите SQL запрос для этого?
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 31.07.2010, 23:40   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

кагтотаг
Код:
query1.close;
query1.SQL.Text := 'select count(1) as cnt from your_table where pole1=1 and pole2=1 and pole3=1';
query1.Open;
if query1.FieldByName('cnt').AsInteger = 0 then 
begin
  /*
  блок вставки записи в таблицу
  */
end;
при желании параметризовать запрос
soleil@mmc вне форума Ответить с цитированием
Старый 31.07.2010, 23:43   #3
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Насчет так проверить это конечно вариант, но я надеялся можно обычным запросом выполнить? Всмысле одним запросом. Проверить существование записи в запросе и если ее нет - вставить.
Страх это слабость и потому, кто испугался уже побежден.

Последний раз редактировалось Mixasik; 31.07.2010 в 23:47.
Mixasik вне форума Ответить с цитированием
Старый 01.08.2010, 12:50   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

нет, к сожалению, одной командой это сделать не получится.
Классический SQL (insert into ) это не позволяет.
Поэтому - сначала проверять, потом - вставлять.

p.s. А чем Вам проверка не угодила?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.08.2010, 13:46   #5
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Ясненько. Да ничем в общем то - хотелось попроще сделать. Спасибо понятно
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как узнать цвет пикселя в TImage , если там не bmp а jpg Dima_Dima Общие вопросы Delphi 0 31.05.2010 14:12
Почему из файла считывается два значения, если там одно yorik1984 Помощь студентам 3 19.03.2010 01:48
Узнать цвет пикселя в Timage, если там не bmp а jpeg? TwiX Общие вопросы Delphi 4 27.09.2009 19:11
WebBrowser! Если нет коннекта... Port 111 Работа с сетью в Delphi 1 15.01.2009 15:15