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

Вниз

TStoredProc.Params.CreateParam странно выполняеться...   Найти похожие ветки 

 
Cheg ©   (2002-12-24 12:13) [0]

Привет всем. Проблема такая, почему когда я создаю параметры для TStoredProc в порядке отличном от порядка параметров в самой сохраненной процедуре, то процедура выполняеться(или невыполняеться вообще) неправильно. Все параметры получаються перетасованы. Я же работаю с параметрами по имени, какая разница в каком порядке они создаються!??
У меня 11 параметров я создаю их так:
...
with Params do
begin
Clear;
CreateParam(ftInteger,"@p1",ptInput);
CreateParam(ftInteger,"@p2",ptInput);
CreateParam(ftInteger,"@p3",ptInput);
...
end;
ParamByName("@p1").AsInteger := XXX;
ParamByName("@p2").AsInteger := YYY;
ParamByName("@p3").AsString := ZZZ;
...
Если переставить, например создание "@p3" на первое место, то при выполнении получиться путаница параметров.
Если это правило(создавать параметры в том же порядке), то я почему-то нигде этого не встречал. DB: Sybase7 ASA


 
Lady D ©   (2002-12-24 12:21) [1]

А Вы не пробовали менять TStoredProc.ParamBindMode?


 
Cheg ©   (2002-12-24 12:27) [2]

Так я использую pbByName, если буду использовать pbByNumbe, смысл тогда в pbByName. И я не могу понять причем тут сама передача параметров от их простого создания??


 
Lady D ©   (2002-12-24 12:37) [3]

Ага, понятно. В процедуре TStoredProc.BindParams перебор параметров происходит в цикле с обращением через Params[i]. Так что последовательность создания имеет значение.


 
Lady D ©   (2002-12-24 12:52) [4]

А может быть ошибка в том, что @p3 создается как ftInteger, а присвоение значения выполняется AsString ?


 
Cheg ©   (2002-12-24 12:52) [5]

Посмотрел...понял. Но мне это кажеться нелогичным. (( Спасибо большое!)


 
Cheg ©   (2002-12-24 12:58) [6]

Нет, это я уже эксперементировал, и код такой вставил



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

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

Наверх




Память: 0.47 MB
Время: 0.022 c
1-62538
Pat
2003-01-10 11:05
2003.01.20
Microsoft Equation


1-62587
Maksss
2003-01-08 08:00
2003.01.20
не доходит до адресата sendmessage !!!!!!


4-62948
dimmu3
2002-12-02 08:42
2003.01.20
как сделать, чтобы для формы в приложении на taskbar е отображала


4-62934
DDDD
2002-12-05 11:42
2003.01.20
Чтение из буфера


3-62341
Cheg
2002-12-24 12:13
2003.01.20
TStoredProc.Params.CreateParam странно выполняеться...