Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 5

Запрос SQL в условии if

26.02.2012, 19:49. Показов 1567. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вечер добрый. требуется чтобы при нажатии на кнопку в БД dynppl_dsdop в столбец UNICOD_STAC добавлялось число, равное тому, что находится в DBEdit8. Если же в бд dynppl_dsdop в столбце UNICOD_STAC уже есть такое число, то выводилось сообщение о том, что такая запись там уже есть.
вот код предоставляю. этот код добавляет просто много раз число которое содержится в DBedit...что я делаю не так? заранее спасибо

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm3::Button2Click(TObject *Sender)
{
 
 Form3->ADOQuery1->SQL->Clear();
if (Form3->ADOQuery1->SQL->Add("SELECT UNICOD_STAC='"+DBEdit8->Text+"' FROM dynppl_dsdop"))
  {
   {Form3->ADOQuery1->Open();
   MessageBox(NULL, "уже есть", "!!!", MB_OK | MB_ICONINFORMATION);}
  }
 
  else
  {    
   Form3->ADOQuery1->SQL->Clear();
Form3->ADOQuery1->SQL->Add("SELECT * FROM dynppl_dsdop");
Form3->ADOQuery1->Open();
Form3->ADOQuery1->SQL->Clear();
Form3->ADOQuery1->SQL->Add("INSERT INTO dynppl_dsdop (UNICOD_STAC) SELECT UNICOD_STAC FROM dynpeople WHERE UNICOD_STAC= '"+DBEdit8->Text+"'");
Form3->ADOQuery1->ExecSQL();
  }  
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.02.2012, 19:49
Ответы с готовыми решениями:

SQL Запрос, при условии
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Admin</title> </head> <body> <?php // ПОДКЛЮЧЕНИЕ...

Запрос в условии выбора
Здравствуйте ! В запросе из которого будет делаться отчет, нужно в поле "№ Акта" убрать записи "№ Акта" которые дает...

запрос на выборку при условии (не)
Доброго времени суток! Прошу помощи, правильно я написал запрос, при выполнении запроса он выдает множество строк причем многие строки...

4
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
26.02.2012, 19:55
Цитата Сообщение от nocomment Посмотреть сообщение
if (Form3->ADOQuery1->SQL->Add("SELECT UNICOD_STAC='"+DBEdit8->Text+"' FROM dynppl_dsdop"))
Так условие с запросом никто не использует.
Делай запрос на нахождение числа в столбце без условия
0
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 5
26.02.2012, 22:02  [ТС]
Можно наводку хотя бы как это осуществить? не могу сообразить..
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
26.02.2012, 22:19
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Form3->ADOQuery1->SQL->Close();
Form3->ADOQuery1->SQL->Clear();
Form3->ADOQuery1->SQL->Add("SELECT UNICOD_STAC='"+DBEdit8->Text+"' FROM dynppl_dsdop")
Form3->ADOQuery1->SQL->Open(); 
if(Form3->ADOQuery1->RecordCount !=0)
{
     MessageBox(NULL, "уже есть", "!!!", MB_OK | MB_ICONINFORMATION);}
}
 
  else
  {    
  Form3->ADOQuery1->Close();
  Form3->ADOQuery1->SQL->Clear();
  Form3->ADOQuery1->SQL->Add("INSERT INTO dynppl_dsdop (UNICOD_STAC) SELECT UNICOD_STAC     FROM dynpeople WHERE UNICOD_STAC= '"+DBEdit8->Text+"'");
  Form3->ADOQuery1->ExecSQL();
  Form3->ADOQuery1->SQL->Close();
  Form3->ADOQuery1->SQL->Clear();
  Form3->ADOQuery1->SQL->Add("SELECT * FROM dynppl_dsdop");
  Form3->ADOQuery1->Open();
}
1
0 / 0 / 0
Регистрация: 26.02.2012
Сообщений: 5
26.02.2012, 22:32  [ТС]
Ого, спасибо огромное! всё действительно работает. разобрался в этом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.02.2012, 22:32
Помогаю со студенческими работами здесь

Запрос в 1С: разность дат в условии ГДЕ
есть след запрос: ВЫБРАТЬ РеализацияТоваровУслуг.Контрагент, -РАЗНОСТЬДАТ(&ДатаОтчета,...

Выполнить второй запрос, при условии
Как выполнить второй запрос, при условии, что первый запрос ничего не вернул. Что-то типа: if ( "SELECT surname FROM...

Запрос в условии IIf. Как сделать?
SELECT DISTINCT IIF( ( SELECT COUNT(*) FROM SpecParSheet WHERE SpecParSheet.P14 = 'WHERE_1' AND SpecParSheet.P5= 939262 ) >0 ,...

Select-запрос. Конкатенация в условии - текст+значение поля
Таблица во вложении необходимо выбрать те строки где числа(!) в колонках name и resource не равны Что-то типа такого: SELECT * FROM...

Запрос: Добавить запись при условии, что такого значения не было
Есть список предметов в таблице ИГРУШКИ id | toys Запрос должен добавить новый предмет "мяч", но только при условии, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru