Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.28;
Скачать: CL | DM;

Вниз

выполнение sp с параметрами   Найти похожие ветки 

 
Kelly   (2008-09-30 18:31) [0]

При вызове execute ругается что неверно определен объект параметр

/*в процедуре два параметра, один инпут и один аутпут */

with TADOCommand.Create(Self) do
 try
  Connection := ADOConnection1;
  CommandText := "GET_STATE";
  CommandType := cmdStoredProc;
  with Parameters.AddParameter do
   begin
    Name      := "p_source_id";
    DataType  := ftInteger;
    Direction := pdInput;
    Value     := 13879;
   end;

  with Parameters.AddParameter do
   begin
    Name      := "p_out_state";
    DataType  := ftInteger;
    Direction := pdOutput;
   end;
Execute;
....


 
clickmaker ©   (2008-09-30 18:36) [1]

может, собачку надо перед именем?


 
Kelly   (2008-09-30 18:38) [2]

Не помогает. Пробовал и с собачкой и без. Текст ошибки одинаков


 
clickmaker ©   (2008-09-30 18:48) [3]

а в хранимке out стоит у параметра?


 
sniknik ©   (2008-09-30 19:35) [4]

параметры не нужно создавать, их нужно считывать (рефреш вроде пойдет, не помню давно с процедурами как с cmdStoredProc не работал, явным запросом проще)


 
kaif ©   (2008-09-30 20:15) [5]

CommandText := "GET_STATE";

А где здесь в тексте команды место, где подразумевается использование параметра?


 
sniknik ©   (2008-09-30 20:55) [6]

> где подразумевается использование параметра?
при cmdStoredProc это имя процедуры, параметры запрашиваются с сервера, те с которыми процедура написана.


 
Kelly   (2008-10-01 09:44) [7]

в общем после многих научных тыков удалось вызвать эту процу.

Параметры создаю явно как и было описано выше.

(После refresh длина коллеции параметров возвращает верное значение, но экзек все равно заканчивается неудачей, ""экспектс такой-то параметер вич вазнот сапплаед" )
То есть подозреваю, что после рефреша надо все равно явно выставлять  всем параметрам типы, дирекшен и прочее.

Во вчерашнем коде причина ошибки была в том, что есть еще один аутпут параметр строкового типа. Он создавался точно так же, но ему не был указан Size. После указания длины все поехало как надо.

И еще почему-то когда имя процедуры устанавливаешь в дизайне, с помощью редактора командтекст, то все хранимки видны как <оригинальное_имя>;1

То есть в дизайне у меня присвоилось "GET_STATE;1"



Страницы: 1 вся ветка

Текущий архив: 2009.06.28;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.008 c
15-1240512847
leonidus
2009-04-23 22:54
2009.06.28
Гибридный компонент для отображения текста


2-1241544934
DmitriyR
2009-05-05 21:35
2009.06.28
Перевести String в LongWord


15-1240225644
T&amp;F
2009-04-20 15:07
2009.06.28
Отслеживание входящих подключений


2-1241619801
madmech
2009-05-06 18:23
2009.06.28
Не печатается заголовок итогового столбца отчета


2-1241873934
Tany
2009-05-09 16:58
2009.06.28
TreeNode





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский