Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2009.06.28;
Скачать: [xml.tar.bz2];

Вниз

выполнение 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.004 c
2-1242129480
Pavlov
2009-05-12 15:58
2009.06.28
Parameter bbb_id not found


15-1240518603
Юрий
2009-04-24 00:30
2009.06.28
С днем рождения ! 24 апреля 2009 пятница


2-1242109990
novai
2009-05-12 10:33
2009.06.28
ошибка загрузки изображения из TMemoryStream


2-1242216248
Андрей (начинающий)
2009-05-13 16:04
2009.06.28
Динамическое добавление полей в TTable


15-1240480713
12
2009-04-23 13:58
2009.06.28
А что это за копия этого сайта?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский