|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.12.2010, 00:01 | #1 |
Новичок
Джуниор
Регистрация: 26.12.2010
Сообщений: 2
|
Ошибка при работе с 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.E dit1.Text; Parameters.ParamByName('@nomer').Va lue:=Form3.Edit 2.Text; Parameters.ParamByName('@vmestimost ').Value:=Form3 .Edit3.Text; Parameters.ParamByName('@id_aftobus _nom').Value:=0 ; Execute; idl:=Parameters.ParamByName('@id_af tobus_nom').Val ue; end; with DataModule2.WDataSet1 do begin Close; open; Locate('id_aftobus_nom',idl,[]); end; end; end; Привязал к форме WDataSet1 и W_Command1 через DataModule2, всё настроил на хранимую процедуру. После запуска программы и ввода трёх значений жму кнопку(Ok) и программа вылетает с сообщением, что моя процедура ожидает параметр @vmestimost который небыл предоставлен. Потом надо закрывать проект и при повторном открытии я увидел что в мой DBGrid в котором я отображаю таблицу всё добавилось тоже самое в базе, всё норм. Вопрос: что это такое если программа вылетает, но тем немение действие выполняется???? Как это исправить??? Я новичёк в Delphi 7 и зарание прошу извенения если вопрос тупой. Всем спасибо за внимание. |
28.12.2010, 19:35 | #2 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
В ADO есть нормальный компонент TADOStoredProc. С ним проще работать.
А ошибка в этом случае, возможно, из-за того, что в списке параметров компонента их типы не определены. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема при работе с датами sql server в delphi | Fellot | БД в Delphi | 3 | 05.06.2010 22:50 |
Ошибка при работе с формами (Delphi) | MaGiS | Помощь студентам | 3 | 16.03.2010 17:53 |
Ошибка при работе с MySQL 3.51 в Delphi 2009 | rainbow | БД в Delphi | 0 | 27.03.2009 06:47 |
delphi 9 или delphi 2005 вопрос о работе | Doget | Компоненты Delphi | 0 | 07.07.2008 08:50 |