Привет всем! Обнаружена серёзная ошибка в Delphi 5-7 (BDE + MS SQL 2000). В 3 версии отсутствовала. Пусть у вас есть на MS SQL 2000 сервере хранимая процедура у котрой часть параметров имеет значение по умолчанию
PROCEDURE proc_test
@par1 int,
@par2 int=0
as
begin
.........
end
если на форму бросить компонент TStoreProc и свзать его с proc_test, то появятся два параметра. При вызове пишем
StoreProc1.ParamByName('@par1').AsInteger =1;
StoreProc1.ExecSql;
И получаем ошибку! Причем эта ошибка не SQL Server а VCL +BDE не провстили процедуру у которой в дизайнере 2 параметра, и второй не имет значения! Попытка в дизайнере сделать Value второго параметра нужного типа, но не писать значение успеха не имеет — если нет значения, то тип не определён!!!! Конечно, если удалить второй параметр в дизайнере, то всё выполняется правильно, но ЭТО НЕ ВЕРНЫЙ СПОПСОБ!!! Кто встречал такое и что делать? В Delphi 3 всё работает корректно!
mb> если на форму бросить компонент TStoreProc и свзать его с proc_test, то
mb> появятся два параметра. При вызове пишем
mb> StoreProc1.ParamByName('@par1').AsInteger =1;
mb> StoreProc1.ExecSql;
mb> И получаем ошибку!
1) а где текст ошибки?
2) попробуй выключить paramCheck у TstoredProc
3) выбрось BDE используй например ADODB
mb> В Delphi 3 всё работает корректно!
мож версия BDE например поменялась, али еще чего.
--
С уважением
Кочмин Александр
Posted via RSDN NNTP Server 2.0
mb> Текст ошибки "NULL program pointer encountered ".
мда..
mb> BDE последнее, на ADO перейти нельзя, таковы условия работы.
ну последнее BDE... это дело такое. Надо учесть что нет его больше. Померло оно.
mb> Кстати с ADO в той же ситуации ошики нет оно (VCL для ADO) правильно выполняет связывани
mb> параметров процедуры.
дык.
mb> Но главное в 3 дельфе все было правильно!
Экспериментируй. Поставь BDE постарее например.
Ну и сидел бы на D3 дальше. Раз так на BDE сидишь, что слазить не хочешь.
Да, и ты не провел эксперимент, который я говорил.
Короче, путь этот неправильный, и советчиков толковых не осталось.
Мало вас таких на BDE и с каждым днем все меньше и меньше...
--
С уважением
Кочмин Александр
Posted via RSDN NNTP Server 2.0