![]() |
|
Модераторы: Akina |
![]()
|
|
| 1grib |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.2.2005 Репутация: нет Всего: нет |
начитавшись книг, FAQ'ов написал хранимую процедуру для добавления записей:
Вот. А дальше в книге вызывают эту процедуру из Query Analyzer'a :
Как мне теперь тоже самое сделать, только из своей проги?? Подозреваю что надо пользовать ADOCommand или может быть ADODataSet? и в выходном параметре выдавать: "ошибка" Т.е. вообще-то я хочу понять как сделать: 1.Как в приложении получить код возврата первой процедуры Proc1. 2.Что можно и чего нельзя писать в ADOCommand.CommandText , и как там выходному параметру присваивать значение 3.В хранимой процедуре, на серваке выходные параметры можно заполнить только с помощью SELECT'а, т.е. нельзя написать @Parametr='что-нибудь' так или нет?? |
||||
|
|||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Язык я так понимаю Дельфи? Хех... хреново там реализованы компоненты для работы с sp.
Я лично делаю так:
Дальше выполняем обычный запрос с помощью ADOQuery Exec dbo.proc1 "Name", 0 И после открытия квери берём нужное значение полей Return и Identity -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| 1grib |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.2.2005 Репутация: нет Всего: нет |
Vit, спасибо большое! я уже не надеяля что кто-нибудь ответит.
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Звиняюсь, в отпуске был
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Я бы использовал не @@IDENTITY а SCOPE_IDENTITY() - это более верное решение. @@IDENTITY возвращает самый последний IDENTITY, который может появиться в каком-нибудь триггере на вставку. Т.е. ты в триггере на добавление добавляешь записи в еще одну таблицу. В этом случае @@IDENTITY отдаст тебе ИД из второй таблицы. А SCOPE_IDENTITY() вернет ИД именно для первой. |
|||
|
||||
| 1grib |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.2.2005 Репутация: нет Всего: нет |
У меня почему то сервак не дает создать эту процедуру Error 156 Incorrect syntax near the keyword 'Declare' 'int' is not a recogniszed CURSOR option и на каждый "Set r=" ругается: incorrect syntax near '=' |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Ты AS забыл
|
|||
|
||||
| 1grib |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.2.2005 Репутация: нет Всего: нет |
правда из-за этого ???
завтра проверю. да это ты сам забыл! Это сообщение отредактировал(а) 1grib - 5.5.2005, 15:04 |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Я такое не писал - ты у Vit'а такое скопировал. Но ошибка-то вообщем из-за невнимательности - такие делают все. Особенно, когда на вскидку отвечают. |
|||
|
||||
| 1grib |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 26.2.2005 Репутация: нет Всего: нет |
ой, действительно! Вот, опять невнимательность! Спасибо и Vit'у и тебе.
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
P.S. Это форум, и ответы - это не задания которые делаются под заказ. Внимательно относитесь к приводимым ответам, в 90% случаев Вам дают вовсе не готовые решения, а подсказки в каком направлении надо идти... Вместо Copy/Paste моего кода надо было к нему приглядется и понять ЧТО именно я хотел изменить, и САМОМУ сделать изменения
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |