Показать сообщение отдельно
  #1  
Старый 27.12.2010, 23:53
DimaP DimaP вне форума
Прохожий
 
Регистрация: 26.12.2010
Сообщения: 2
Репутация: 10
По умолчанию Ошибка при работе с Delphi 7 и SQL 2005

Здравствуйте.
Если возможно подскажите, я пытаюсь добавить запись в таблицу через Delphi и хранимую процедуру.
Моя хранимая процедура выглядит:

Код:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[af_add] @vmestimost int, @nomer varchar(30), @id_marka int, 
@id_aftobus_nom int output as begin
 set nocount on;
 insert into sp_aftobus_nom(vmestimost, nomer, id_marka) values(@vmestimost, @nomer, @id_marka);
 set @id_aftobus_nom=@@IDENTITY
 end;

Код добавления в Delphi:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var idl: integer;
begin
  Form3.Edit1.Text:='';
  Form3.Edit2.Text:='';
  Form3.Edit3.Text:='';
  if Form3.ShowModal=mrOk then
    begin
      with DataModule2.W_Command1 do
        begin
          CommandText:='af_add;1';
          Parameters.Refresh;
          Parameters.ParamByName('@id_marka').Value:=Form3.Edit1.Text;
          Parameters.ParamByName('@nomer').Value:=Form3.Edit2.Text;
          Parameters.ParamByName('@vmestimost').Value:=Form3.Edit3.Text;
          Parameters.ParamByName('@id_aftobus_nom').Value:=0;
          Execute;
          idl:=Parameters.ParamByName('@id_aftobus_nom').Value;
        end;
     with DataModule2.WDataSet1 do
        begin
          Close;
          open;
          Locate('id_aftobus_nom',idl,[]);
        end;
    end;
end;

lmikle: пользуемся тегами!!!

Привязал к форме WDataSet1 и W_Command1 через DataModule2, всё настроил на хранимую процедуру. После запуска программы и ввода трёх значений жму кнопку(Ok) и программа вылетает с сообщением, что моя процедура ожидает параметр @vmestimost который небыл предоставлен.
Потом надо закрывать проект и при повторном открытии я увидел что в мой DBGrid в котором я отображаю таблицу всё добавилось тоже самое в базе, всё норм.

Вопрос: что это такое если программа вылетает, но тем немение действие выполняется???? Как это исправить??? Я новичёк в Delphi 7 и зарание прошу извенения если вопрос тупой.
Всем спасибо за внимание.
Ответить с цитированием