ADOStoredProc - ошибка при присвоении занчения параметру

Vinc
Дата: 02.07.2009 18:31:22
Хочу поделиться проблемой, может кто-то тоже с этим сталкивался. Лично для меня, загадка почему происходит именно так.
Суть:
Есть таблица с тремя полями: одно автоинкрементный ID и два типа int.
На сервере имеется хранимая процедура, которая инсертит два последних поля.
Имеется ADOStoredProc, связанная с этой процедурой.
При присвоении ADOStoredProc.Parameters[1].Value получаю ошибку "Index list out of bounds (1)", присвоение ADOStoredProc.Parameters[2].Value проходит нормально.
Если обращаться к параметру не по индексу, а ParamByName - все работает! Как так?
misha mike
Дата: 02.07.2009 19:20:43
База какая?
Vinc
Дата: 02.07.2009 19:32:34
misha mike,

MS SQL SERVER 2000
Хотя мне кажется, что проблема не в ней.
scorpyx
Дата: 03.07.2009 14:48:30
Vinc,
после того как присваиваеш имя хранимой процедуры ADOStoredProc сделай ADOStoredProc.Parameters.Refresh, ну и если не получится то лучше параметры присваивать по имени: ADOStoredProc.Parameters.ParamByName('@ParamName')
Vinc
Дата: 07.07.2009 16:24:04
scorpyx,

Спасибо за совет! Он мне помог. Хотя мне до сих пор непонятно, что конкретно произошло с этой процедурой, ведь кроме нее у меня в программе еще уйма похожих и пока ни с одной из них подобного не случалось.