У меня есть хранимая процедура, которую я вызываю, чтобы вставлять элементы в таблицу. Если он только вставляет элемент в таблицу, я получаю исключение «Операция прервана». Если я добавлю выбор после вставки, он отлично работает.Проблемы с сохраненной процедурой
Что мне нужно делать по-другому, поэтому я не получаю исключения только с вставкой?
Delphi код
procedure AddItem(dbCon : TADOConnection; sourcePath : String);
var
addProc : TADOStoredProc;
begin
if FileExists(sourcePath) then
begin
try
addProc := TADOStoredProc.Create(nil);
addProc.Connection := dbCon;
addProc.ProcedureName := 'spTest';
addProc.Open;
finally
addProc.Free();
end;
end;
end;
хранимых процедур
ALTER PROCEDURE [dbo].[spTest]
AS
BEGIN
INSERT INTO dbo.ToSolve (Data, SolveStatus)
VALUES (null, 1)
--SELECT * from dbo.ToSolve --I must have a select or I get and exception
END
Я не эксперт Delphi, но для баз данных обычно требуется код для COMMIT транзакции после того, как она выполнила свою работу. Попробуйте найти в Delphi insert commit, чтобы просмотреть, как это сделать в Delphi. –