powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ошибка в вызове хранимой процедуры
7 сообщений из 7, страница 1 из 1
Ошибка в вызове хранимой процедуры
    #32069442
Lexus_000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При вызове из проги хранимой процедуры находящейся на SQL Server 7.0 и имеющей один параметр, значение которого передается из проги происходит следующее:
один раз она вызывается, при повторном вызове выдается сообщение 'Parameter object is improperly defined. Inconsistent or incomplete information was provided'.
Что неправильно?
...
Рейтинг: 0 / 0
Ошибка в вызове хранимой процедуры
    #32069457
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код в студию!
...
Рейтинг: 0 / 0
Ошибка в вызове хранимой процедуры
    #32069479
Lexus_000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используемый код

Хранимая процедура p_Proc:

CREATE PROCEDURE Proc1 @KodZap int
AS
SELECT fields1, fields2, fields3
FROM Table1
WHERE K_kod = @KodZap
==========================

Вызов в проге (при нажатии на кнопку):
With ADOQuery1 do
begin
Close;
Parameters.Clear;
SQL.Add('EXECUTE p_Proc :KodZap');
end;

При повторном нажатии на кнопку, т.е вызове процедуры и выдается сообщение об ошибке

P.S.
Если заменить вызов процедуры на код:
SQL.Add('Select fields1, fields2, fields3 From Dbo.Table1 Where K_kod = :KodZap');
все работает
...
Рейтинг: 0 / 0
Ошибка в вызове хранимой процедуры
    #32069500
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для вызова хранимой процедуры лучше использовать компонент ADOStoredProc, в свойстве Parameters которого установить DataType и Value->Type в ftInteger и Integer соответственно. Процедуру вызывать spProcName.ExecProc. Должно помочь.
...
Рейтинг: 0 / 0
Ошибка в вызове хранимой процедуры
    #32069506
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
With ADOQuery1 do
begin
Close;
Parameters.Clear;
SQL.Add('EXECUTE p_Proc :KodZap');
end;


При втором запуске этого кода, запрос будет выглядеть как "EXECUTE p_Proc :KodZapEXECUTE p_Proc :KodZap", а при третьем "EXECUTE p_Proc :KodZapEXECUTE p_Proc :KodZapEXECUTE p_Proc :KodZap"
...
Рейтинг: 0 / 0
Ошибка в вызове хранимой процедуры
    #32069516
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dankov прав.
Надо добавить SQL.Clear.
А всё же лучше использовать ADOStoredProc.
...
Рейтинг: 0 / 0
Ошибка в вызове хранимой процедуры
    #32069537
Lexus_000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем. Помогло и то и другое.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ошибка в вызове хранимой процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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