Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO: TParameters.CreateParameter [D5, MSSQL]


nikolo ©   (2002-11-19 18:27:00) 

У компонента TADOStoredProcесть метод добавления параметров:

function CreateParameter(const Name: WideString; DataType: TDataType; Direction: TParameterDirection; Size: Integer; Value: OleVariant): TParameter;

Вопрос у меня о параметре Size, в help сказано:

Size is an Integer value indicating the maximum size of the parameter’s value.

Не понятно, что это значит. Я что должен точно знать какое максимальное значение должен иметь каждый параметр? Если у меня это поле ID, где миллионы записей, то на указывать какое-то страшно большое число? Или я чего-то не понял?
Разъясните, друзья, пожалуйста...


sniknik   (2002-11-19 19:18:00) [1]

ftAutoInc пожалуй лишнее будет.


sniknik   (2002-11-19 19:17:00) [2]

nikolo © (19.11.02 19:05)
> А про Size узнал, что он значим только для строк.

ftBCD, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary
не будем все переписывать, так кусочек вырезал. :-)


nikolo   (2002-11-19 19:05:00) [3]

Спасибо всем, действительно лучше использовать ADOStoredProc.Parameters.Refresh.

А про Size узнал, что он значим только для строк.


Андрей Прокофьев   (2002-11-19 18:55:00) [4]

Для SP легче и надежнее сделать
ADOStoredProc.Parameters.Refresh для заполнения коллекции параметров реальными параметрами из процедуры


sniknik   (2002-11-19 18:52:00) [5]

максимальный размер значения (нужен если размер переменный/может быть разной длинны для ftWideString к примеру)
работает
ADOCommand1.CommandText:=
"INSERT INTO FlagIn (CashNumber, ZNumber, SDate) VALUES ("+sCash+","+sNum+",?)";
ADOCommand1.Parameters.CreateParameter("Dat", ftDateTime, pdInput, 0, mDat);
ADOCommand1.Execute;

(ADOCommand1.ParamCheck должен быть false)


Наверх

Титульная страница Поиск, карта сайта Написать письмо