Здравствуйте.
Если возможно подскажите, я пытаюсь добавить запись в таблицу через 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 и зарание прошу извенения если вопрос тупой.
Всем спасибо за внимание.