asdnsd
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Добрый день всем, разбираясь с FibPlus возникла проблема, вызываю хранимую процедуру с параметрами через TpFIBQuery, которая не должна возвращать ничего, в ней идет просто обновление определенной записи в базе. Через IBExpert хранимка выполняется хорошо. В программе делаю вот так: Код: function ...UpdateDriver(fam,nam,otch,tel,kod:string;id:integer):integer; var FibQuery: TpFIBQuery; FBTR: TpFIBTransaction; begin if not pFIBDataBase.Connected then begin result:=-1; exit; end; FBTR:=TpFIBTransaction.Create(nil); FBTR.DefaultDatabase:=pFIBDataBase; pFIBDataBase.DefaultTransaction:=FBTR; pFIBDataBase.DefaultUpdateTransaction:=FBTR; FibQuery := TpFIBQuery.Create(nil); FibQuery.Transaction := FBTR; FibQuery.Database := pFIBDataBase; FibQuery.SQL.Text:='EXECUTE PROCEDURE UPDATEDRIVER('''+Fam+''','''+Nam+''','''+ Otch+''','''+Tel+''','''+Kod+''','+IntToStr(id)+');'; FBTR.Active:=true; FibQuery.ExecQuery; FBTR.Commit; FibQuery.Free; FBTR.Free; end; | Выполняется вроде без ошибок (специально упустил try ..except), но изменений в базе не происходит. В чем может быть проблема? До того как выполнять эту функцию, запрашивал данные из таблицы, примерно тем же способом, т.е в процедуре создавал транзакцию и датасет привязывал к TpFIBDatabase и делал запрос, данные приходят нормально. (сервер FireBird 2.1) Хотя как выяснил, это тут не причем. Упс, прошу прощения нашел ошибку. | Всего записей: 447 | Зарегистр. 21-05-2007 | Отправлено: 21:00 09-12-2008 | Исправлено: asdnsd, 00:05 10-12-2008 |
|