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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2016, 09:12   #11
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

insert into Skins (SotrudnikID,ProgrammNumber) select Sotrudniki.SotrudnikID,'1' from Sotrudniki where SotrudnikID=:SotrudnikID and not exists (select * from Skins where ProgrammNumber='1')
Ernest027 вне форума Ответить с цитированием
Старый 22.06.2016, 15:19   #12
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Код:
INSERT INTO Skins (SotrudnikID, ProgrammNumber) 
SELECT Sotrudniki.SotrudnikID, '1' FROM Sotrudniki 
WHERE NOT EXISTS (SELECT * FROM Skins 
WHERE ProgrammNumber='1')
что не так?
Пишет "Недопустимое имя объекта Sotrudniki"
Ernest027 вне форума Ответить с цитированием
Старый 22.06.2016, 21:03   #13
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Какая субд?
Цитата:
Нужно в таблицу Skins в поле ProgrammNumber вставить новую запись (уникальную).
Что за ересь?
Что сделать надо?
come-on вне форума Ответить с цитированием
Старый 22.06.2016, 22:45   #14
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Цитата:
Какая субд?
MS SQL
Цитата:
Что сделать надо?
в таблицу Skins в поле ProgrammNumber вставить запись из label. в эту же таблицу в поле SotrudnikID вставить запись из таблицы Sotrudniki из поля SotrudnikID. причем значения из label и Sotrudniki.SotrudnikID не повторялись.
То есть, например, Sotrudniki.SotrudnikID=1, label.caption=1, следовательно Skins.SotrudnikID=1 и Skins.ProgrammNumber=1, и чтобы больше таких записей не было.
Надеюсь не запутанно объяснил.
Ernest027 вне форума Ответить с цитированием
Старый 23.06.2016, 02:31   #15
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

ничего не понятно...
у вас для всех сотрудников вставить записи или только для выбранного на форме?

для выбранного на форме
Код:
;MERGE Skins AS T
USING (SELECT :SotrudnikID, :ProgrammNumber) AS S (SotrudnikID, ProgrammNumber)
ON T.SotrudnikID =  S.SotrudnikID AND T.ProgrammNumber = S.ProgrammNumber
WHEN NOT MATCHED THEN
    INSERT (SotrudnikID, ProgrammNumber)
    VALUES (S.SotrudnikID, S.ProgrammNumber);
для всех
Код:
;MERGE Skins AS T
USING (SELECT SotrudnikID, :ProgrammNumber FROM Sotrudniki) AS S (SotrudnikID, ProgrammNumber)
ON T.SotrudnikID =  S.SotrudnikID AND T.ProgrammNumber = S.ProgrammNumber
WHEN NOT MATCHED THEN
    INSERT (SotrudnikID, ProgrammNumber)
    VALUES (S.SotrudnikID, S.ProgrammNumber);
абшибки тут не мои))

Последний раз редактировалось come-on; 23.06.2016 в 21:33.
come-on вне форума Ответить с цитированием
Старый 24.06.2016, 18:10   #16
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Код:
insert into Skins (ProgrammNumber,SotrudnikID) 
select '5', SotrudnikID from Sotrudniki
 where not exists (select * from Skins 
where ProgrammNumber=('5') and SotrudnikID=SotrudnikID)
недопустимое имя объекта Sotrudniki. НУ ПОЧЕМУУУУУУУУУУУУ?:confus ed:
Ernest027 вне форума Ответить с цитированием
Старый 24.06.2016, 18:17   #17
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
НУ ПОЧЕМУУУУУУУУУУУУ?
Чего кричишь? Покажи структуру своих таблиц. А SotrudnikID=SotrudnikID точно не прокатит
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.06.2016, 19:56   #18
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

adoquery4 - таблица Sotrudniki
adoquery5 - таблица Skins
Изображения
Тип файла: jpg Безымянный.jpg (42.5 Кб, 109 просмотров)
Ernest027 вне форума Ответить с цитированием
Старый 24.06.2016, 20:10   #19
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

И чего тут видно? Ладно, проехали
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.06.2016, 20:49   #20
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
adoquery4 - таблица Sotrudniki
adoquery5 - таблица Skins
эти квери выбросите, они не кому не интересны
просили структуры
и ошибку не плохо бы показать реальную а не "с ваших слов записано"
come-on вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление записи из одного DBGrid в другой DBGrid c помощью кнопки, а также удаление записи Evgen7 БД в Delphi 20 16.02.2014 17:05
добавление записи в БД kuzmich БД в Delphi 2 13.12.2013 14:07
Добавление записи в бд yuta_86 БД в Delphi 10 31.05.2013 12:09
Добавление записи в БД Кротяка C++ Builder 5 20.05.2013 22:44
Добавление записи в бд Lokos БД в Delphi 8 15.12.2009 16:36