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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2012, 01:49   #1
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию удаление delete sql && C#

такая ситуация

есть две таб.:

табл1
ID| NAME|
^| ^^^^|

табл2
ID| ID_NAME| SUMMA|
^^|^^^^^| ^^^^^|

табл1 главная таблица в колонку ID_NAME второй таб. прописываются ID первой.

Нужно правильно написать код для удаления. Удаление должно происходить так:
из первой таблице удаляется одна строчка а из второй удаляются все строчки которые принадлежат к ID из первой таблице, т.е. табл1.ID=табл2.ID_NAME


da.DeleteCommand = new SqlCommand(@"DELETE FROM T_2 WHERE ID_NAME IN (SELECT ID FROM T_1 WHERE ID = ID_NAME)", co);
da.DeleteCommand = new SqlCommand(@"DELETE FROM T_Clients WHERE ID = @ID", co);
da.DeleteCommand.Parameters.Add("@I D", SqlDbType.Int).Value = ds.Tables[0].Rows[bi.Position][0];

почему не получается?
Madmaxisss вне форума Ответить с цитированием
Старый 02.07.2012, 02:40   #2
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

или это одной командой прописывается? if (одной) как?
Madmaxisss вне форума Ответить с цитированием
Старый 02.07.2012, 07:35   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
почему не получается?
Наверное потому что ты одну команду мгновенно заменяешь другой:
Цитата:
da.DeleteCommand = new SqlCommand(@"DELETE FROM T_2 WHERE ID_NAME IN (SELECT ID FROM T_1 WHERE ID = ID_NAME)", co);
da.DeleteCommand = new SqlCommand(@"DELETE FROM T_Clients WHERE ID = @ID", co);
Это не накопление команд.
Сначала выполняй первую а потом вторую.
Код:
da.DeleteCommand = new SqlCommand(@"DELETE FROM T_2 WHERE ID_NAME IN (SELECT ID FROM T_1 WHERE ID = ID_NAME)", co);
 da.DeleteCommand.Parameters.Add("@I D", SqlDbType.Int).Value = ds.Tables[0].Rows[bi.Position][0];
 Выполняем первую

da.DeleteCommand = new SqlCommand(@"DELETE FROM T_Clients WHERE ID = @ID", co);
 Выполняем вторую.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.07.2012, 07:46   #4
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

Stilet да да я понял спс
вот этот код правильный "DELETE FROM T_2 WHERE ID_NAME IN (SELECT ID FROM T_1 WHERE ID = ID_NAME)" да?
Madmaxisss вне форума Ответить с цитированием
Старый 02.07.2012, 08:28   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
DELETE FROM T_2 WHERE ID_NAME=@ID
DELETE FROM T_Clients WHERE ID = @ID
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.07.2012, 10:15   #6
Madmaxisss
Форумчанин
 
Регистрация: 12.07.2011
Сообщений: 158
По умолчанию

Код:
DELETE FROM T_2 WHERE ID_NAME=@ID
DELETE FROM T_Clients WHERE ID = @ID
вот это правильные коды,
только я погрешность допустил не T_Clients а T_1 (светанул свою таблицу ^^).
Хотя я уже всё давно сделал, но все ровно спасибо Аватар

Последний раз редактировалось Madmaxisss; 02.07.2012 в 10:18.
Madmaxisss вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разница между cout/cin && printf/scanf treis1000 Общие вопросы C/C++ 7 20.03.2012 18:49
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) Schutze Помощь студентам 6 29.11.2009 22:15
TForm & TImage & PNG & Прозрачность delphi_beginner Общие вопросы Delphi 7 19.09.2009 08:46
Запрос UPDATE&INSERT&DELETE l0nley SQL, базы данных 5 17.07.2009 05:59
помгите! string Copy & Delete Димарик Общие вопросы Delphi 4 05.11.2007 14:11