Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
Доброго всем времени суток ! Люди добрыя, проясните мне пожалуйста вопрос: Смотрю на строку в InsertCommand и вижу два запроса через ;, а именно "insert into ....; select ...." Это характерно только для InsertCommand или такое можно писать и для других Command. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 16:03 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
select добавляется по умолчанию дата-мастером Visual Studio, нужен он для того чтобы обновить данные вашего DataSet, например полученные при Insert значения полей Identity. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 20:53 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
Спасибо, но с Вашего разрешения я продолжу тему, поскольку вопрос имеет продолжение. Проблема в следующем: Можно ли в DeleteCommand, аналогично как и в InsertCommand, перед строкой с DELETE, через точку с запятой поставить строку типа Код: plaintext соответственно добавив параметр @strRaram. Заранее отвечу на возможный вопрос: "А на кой апдейтить удаляемые строки ?" - на TAB1 стоит триггер instead of delete, который не даёт физически удалять строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2004, 16:45 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
блин !!! поправлюсь Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2004, 16:47 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
2 sposad Используйте ХП - проблемы будут решены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2004, 15:37 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
Да запихнуть можно все что угодно. Но если речь идет о MS SQL Server, то послушайте совет Hummer from home . Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 08:34 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
2 Sa Это даже в том случае, если речь идёт об Оракле, Интербайз и т.п. Даже при работе с Access при желании можно сделать тоже самое, правда в последнем случае, наличие Access на клиенте необходимо. Всё это к тому, что писать SQL-инструкции в коде я считаю не совсем верным. По возможности стараюсь этого избегать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 08:40 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
Hummer Это даже в том случае, если речь идёт об Оракле, Интербайз и т.п. Согласен Hummer Всё это к тому, что писать SQL-инструкции в коде я считаю не совсем верным. По возможности стараюсь этого избегать. Согласен, если речь идет о СУБД имеющих возможность использовать ХП. Но иногда я делаю универсальные вещи, которые будут работать на чем угодно, тогда про ХП приходиться забыть :-( Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 09:17 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
Разумеется, если речь идёт о приложении, которое может использовать нескольку различных СУБД (по желанию пользователя), тот тут такой подход не совсем верен - сделать можно, но придётся повозиться. С другой стороны, есть отдельный "фреймворк" (если это можно так назвать), который позволяет не писать самому инструкции по работе с данными, а описывать сущности (т.е. таблички в БД) как классы - и уже вызывать методы этого фреймворка (они наследуются к вашим описанным класам). Т.е. получается своеобразная настройка над вашим приложением. Работает он со многими субд (настраивается всё через xml файлы). Название сейчас не припомню - просто стоит у начальника на машине, а он сейчас в отпуске... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 09:52 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
Да я как бы тоже обеими руками за ХП, только никак не могу сообразть, как в триггер засунуть параметр с клиента. Что-то мне кажется вряд ли это получится, или ... ??? Задача состоит в том, чтобы в удаляемые логически записи (повторюсь instead of delete) записать строку, т.е. сделать что-то типа Код: plaintext Но ведь таблица триггера видна только в триггере, а апдейтить надо только логически удаляемые строки, номера которых можно получить только из таблицы триггера. Или писать в триггер ХП, перегоняющую таблицу deleted во временную таблицу и эту временную таблицу вытаскивать в dataset, параметр записывать уже в неё, а потом с помощью этой таблицы апдейтить строки ... блин, что-то очень сложно, переспективы плохо просматриваются по крайней мере для меня ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 10:45 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
Пипец:) Разруха она в головах. Передаём параметр в Хп, далее в ХП делаем сначала Update удаляемым строкам - таблица Deleted у нас ещё не появилась, не так ли, а потом удаляем (уже по другому параметру от клиента). Вы сначала хотите сделать Delete в какой-то табличке, потом чтобы триггер вам изменил записи в другой - верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 11:28 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
Hummer Вы сначала хотите сделать Delete в какой-то табличке, потом чтобы триггер вам изменил записи в другой - верно? Да нет, не в другой, а в этой же самой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 11:45 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
Тогда ещё проще - чем последовательность действий не устраивает?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 12:14 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
HummerПередаём параметр в Хп, далее в ХП делаем сначала Update удаляемым строкам - таблица Deleted у нас ещё не появилась, не так ли, а потом удаляем (уже по другому параметру от клиента). HummerТогда ещё проще - чем последовательность действий не устраивает?:) Записи удаляются по выделению в DataGrid, передать в ХП параметр можно, а как в ХП передать номера строк, которые надо Update этим параметром ? Хотя предположения есть, сделаю, проверю, напишу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 12:35 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
При удалении в датагриде у вас происходит помечание строк в дататейбле меткой deleted, потом вы делаете Update для датасета и у вас только тогда произойдёт физическое удаление записей из таблицы (ну если команда правильно написана:) ). Вот в delete command можно прописать хп с параметрами из таблицы - а дальше делайте что угодно в вашей хп. Что непонятного? Отделяйте мух от котлет - при чём тут триггера и таблица Deleted в триггере?:) Интересно, а на сервере вы как собираетесь параметр в триггер передавать?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 12:49 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
авторПри удалении в датагриде у вас происходит помечание строк в дататейбле меткой deleted, потом вы делаете Update для датасета и у вас только тогда произойдёт физическое удаление записей из таблицы (ну если команда правильно написана:) ). Вот в delete command можно прописать хп с параметрами из таблицы - а дальше делайте что угодно в вашей хп. Ну вот примерно так и хочу сделать, просто по ламерству ещё упираюсь в код мастера. авторИнтересно, а на сервере вы как собираетесь параметр в триггер передавать?:) Да вроде никак, о чём и писал выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 13:17 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
Радикальное предложение: Бросайте свои мастера, реализуйте свою обработку DataSet. DataAdapter можно вообще не использовать. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 13:39 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
2Sa Да если сразу знать всё, может и бросил бы. Например я о такой возможности без адаптера в первый раз слышу. Вся литература, какая у меня есть - вся в разделе ADO завязана на адаптеры. В MSDN обычно легко найти только что-то очень конкретное. Общие вопросы можно там читать только весьма прилично зная английский. А радикальные предложения для меня всегда интересны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 13:57 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
sposad Например я о такой возможности без адаптера в первый раз слышу. Вся литература, какая у меня есть - вся в разделе ADO завязана на адаптеры. Еще как без него можно, на то он и Data Adapter - внутри использует DataReader и Command Но в вашем случае я бы последовал совету Hummer . Ведь в ХП можно написать все что угодно - например инсертить чего-нибудь вместо удаления Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 14:30 |
|
||
|
Две исполняемые строки в InsertCommand
|
|||
|---|---|---|---|
|
#18+
Во !!! Наконец-то добрался до инета, а то вроде нехорошо долго не сообщать о результатах применения советов. Так вот, огромное спасибо Hummer и Sa, всегда знал, что здешний народ не даст пропасть. Если бы ни Вы, не знаю, когда бы у меня поднялась рука в DeleteCommand запихать что-то кроме "DELETE ..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2004, 09:00 |
|
||
|
|

start [/forum/topic.php?fid=20&fpage=1017&tid=1438828]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
13ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 387ms |

| 0 / 0 |
