![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте.
Если возможно подскажите, я пытаюсь добавить запись в таблицу через 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 и зарание прошу извенения если вопрос тупой. Всем спасибо за внимание. |