powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / динамический запрос + TADOStoredProc
6 сообщений из 6, страница 1 из 1
динамический запрос + TADOStoredProc
    #32260677
Egik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в- общем трабла такая
на sqlserver-e лежит процедурка, с 20 входными параметрами
(у всех по дефаулту стоит ='')
в ней генерится динамический запрос,
ну и в конце
@sqlstr='select ... from ... where ...'
exec (@sqlstr)
запускаю в QA всё пучком, возвращаются нужные записи,
сделал компонент TADOStoredProc связал с процедурой,заполнил параметры, и....
нифига
не видит она результаты , в чем дело????
...
Рейтинг: 0 / 0
динамический запрос + TADOStoredProc
    #32260809
Фотография GroZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не ипользуеш ли ты случаем в параметрах процедуры тип bit?
Такое бывает если этому параметру не передавать никакое значение ... баг вообщем, нужно присвоить что-нибудь всем bit параметрам.
...
Рейтинг: 0 / 0
динамический запрос + TADOStoredProc
    #32260841
Egik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не использую.

но я кажется понял, в чем дело.
похоже дельфя как то некорректно переносит пустые (null) параметры
...
Рейтинг: 0 / 0
динамический запрос + TADOStoredProc
    #32260865
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А set nocount on стоит в начале процедуры?
...
Рейтинг: 0 / 0
динамический запрос + TADOStoredProc
    #32260906
UU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорей всего параметры передаются неверно, посмотри профайлером чего там выполняется.
...
Рейтинг: 0 / 0
динамический запрос + TADOStoredProc
    #32269758
Фотография Oleg K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО - лучше использовать ADOCommand


AdoCommand.CommandText:= Динамически составленная строка
AdoCommand.Execute;

а лучше написать функцию и ею пользоваться:


function SendCommand(const S: WideString): WordBool;
begin
TRY
aComm.CommandText:=S;
aComm.Execute;
RESULT:=True;
EXCEPT
On E: Exception Do
begin
RESULT:=False;
ShowMessage('SendCommand - '+S+#13#10+E.Message); //или свою процедуру
end;
END;
end;

только в Пропертях поставь так:
ADOCOmmand -> ExecuteOption -> eoExecuteNoRecord = True
для выдачи ошибки в случае ее возникновения...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / динамический запрос + TADOStoredProc
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]