Проблема с передачей входных параметров в процедуру.

Lyubaha
Дата: 11.10.2006 12:09:41
Здравствуйте всем!

У меня проект: SQL Server 2000 + Delphi 6.

Есть форма, в которую клиент должен забивать данные, которые потом передаются в процедуру SQL (которая записывает их в таблицу). Проект был сделан до меня. Мне нужно просто в эту форму добавить новые поля (в модифицируемую таблицу тоже добавляются новые поля и соответственно с этим меняется процедура записи). Процедура скулевская отрабатывается, я проверила. А когда программа Делфи передает параметр в процедуру, выдается сообщение об ошибке: "sp_addClient: parameter '@ClientTypeID' not found".
Причем, если установить в процедуре значение для @ClientTypeID по умолчанию, ошибка не исчезает.
Параметр передаю так:
begin
  with sp_addClient.Parameters do
  begin
    ParamByName('@ClientID').Value := edClientID.Text;  //уже существовавший параметр
    ParamByName('@ClientTypeID').Value := edClientTypeID.Text;  //параметр, который завожу я
  end;
  sp_addClient.ExecProc;
Те параметры, которые уже были в программе, ошибок не вызывают. Все делаю аналогично.
Гавриленко Сергей Алексеевич
Дата: 11.10.2006 12:11:03
А Вы эти параметры в коллекцию Parameters тоже добавили?
Lyubaha
Дата: 11.10.2006 12:13:15
Нет. Простите, но я не знаю, как это сделать... Мне очень стыдно! Подскажите, пожалуйста.
Гавриленко Сергей Алексеевич
Дата: 11.10.2006 12:14:52
Lyubaha
Нет. Простите, но я не знаю, как это сделать... Мне очень стыдно! Подскажите, пожалуйста.

Либо в дизайнтайме накликать мышкой, либо в рантайме Parameters.CreateParameter. Можно еще Parameters.Refresh.
Lyubaha
Дата: 11.10.2006 12:56:24
Спасибо огромное!!! Сделала
sp_addClient.Parameters.Refresh
. Помогло! :)
evvcom
Дата: 11.10.2006 13:29:12
В дизайнтайм в поле имени ХП: Ctrl+X, Enter, Ctrl+V, Enter. И ничего не надо в рантайм.
Гавриленко Сергей Алексеевич
Дата: 11.10.2006 13:36:59
evvcom
В дизайнтайм в поле имени ХП: Ctrl+X, Enter, Ctrl+V, Enter. И ничего не надо в рантайм.

Да-да, особенно если сама хп создается в рантайме.