|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.06.2017, 09:32 | #1 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,194
|
Параметр в SELECT в хранимой процедуре в MS SQL
Добрый день!
Да, казалось бы, простой вопрос. Создаю динамически ADOStoreProcedure и передаю ему имя процедуры так: Код:
При этом если не писать Refresh после выполнения процедуры, то в DBGridEh'е не отображаются записи! Но, я знаю точно, что такой же запрос на самом сервере через админку показывает прекрасно записи. Прошу помощи. Учусь работать с хранимыми процедурами, пусть и методом проб и ошибок
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
13.06.2017, 09:57 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
А что за тип TStoreProcedure? Там же TADOStoredProc. Впрочем не важно. Хранимку, возвращающую набор данных можно через ADOQuery вызывать. В sql - EXEC GetAll :Id. И Open или Active:=True. А в твоем типе скорее всего не ExecProc выполнять, а Open для возврата набора данных
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 13.06.2017 в 10:00. |
13.06.2017, 10:26 | #3 | |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,194
|
Цитата:
Мне нужно потом через DBNavigator удалять добавленные записи. То, что будет ADOQuery не страшно ведь? Ведь работа ведется с дата сетом. А разве при использовании ХП можно вместо ExecProc использовать Open?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
|
13.06.2017, 10:58 | #4 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Цитата:
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 13.06.2017 в 11:01. |
||
13.06.2017, 11:01 | #5 | |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,194
|
Цитата:
А в чем разница такая? Можешь пояснить почему ExecProc не работает в данном случае как работает Open?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
|
13.06.2017, 11:06 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
ExecProc работает так же, как ADOQuery.ExecSQL - просто выполняется чего-то без возврата набора данных. А Open возвращает, из хранимки в частности результат SELECT-а
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
13.06.2017, 11:16 | #7 | |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,194
|
Цитата:
Теперь понял разницу очень важную! Спасибо еще раз!
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
|
13.06.2017, 12:43 | #8 | |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Цитата:
какая-то выборка. И она по умолчанию закрыта, так как Exec при своём выполнении её только формирует. Если возвращается скалярное значение - его забираем в OUTPUT-параметрах
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
|
13.06.2017, 17:04 | #9 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,194
|
Да-да!
Я теперь уловил разницу и что когда применять! У меня немного другой вопрос по теме! А как указать из какой таблицы брать данные? Админка не пропускает выполнение такой ХП: Код:
Не говорите, что можно было через запрос. Да, можно было. Но, сегодня надо все выбрать из таблицы, а завтра понадобится некоторые поля и не хочу перекомпилировать приложение.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
13.06.2017, 17:13 | #10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Динамический запрос или "переменная @Tablename"
Цитата:
личная ремарка. имхо, зря Вы это. универсального ничего не бывает, да и платить за эту гибкость придётся... |
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача параметров в хранимой процедуре | Maxjuvefan | БД в Delphi | 7 | 17.09.2015 14:09 |
Как зделать запрос в хранимой процедуре | xatabich | БД в Delphi | 8 | 08.12.2014 08:08 |
Имена переменных в хранимой процедуре | Muramidaza | БД в Delphi | 0 | 17.03.2014 22:44 |
Insert or Update в хранимой процедуре | Dozent | SQL, базы данных | 4 | 15.10.2013 03:17 |
как отключить соединения с БД в хранимой процедуре | Neymexa | SQL, базы данных | 0 | 06.04.2010 11:44 |