ERROR lob locators cannot span transactions
Hola a todos tengo este codigo en delphi 6
procedure TForm1.Button1Click(Sender: TObject); var cont:integer; begin query1.Close; IF OpenPictureDialog1.Execute THEN begin IF NOT QUERY1.Active THEN QUERY1.Open; if QUERY1.State in [dsBrowse] then begin QUERY1.Insert; QUERY3.Close; QUERY3.sql.Clear; QUERY3.SQL.Add('SELECT COUNT(*) CONT FROM IMAGENES'); QUERY3.OPEN; cont:=QUERY3.FieldByName('CONT').AsInteger; QUERY1NOIMAGEN.AsInteger :=cont+1; QUERY1IMAGEN.LoadFromFile(OpenPictureDialog1.FileName); QUERY1NUMPARTE.AsString:='Prueba'+IntToStr(cont+1); QUERY1.Post; QUERY1.ApplyUpdates; end; end ELSE SHOWMESSAGE('Se Cancelo Carga de Archivo'); end; lo que hace es insertar una imagen a una tabla llamada imagenes en un campo blob de oracle 8i y me marca este error lob locators cannot span transactions lo que hice fue procedure TForm1.Button1Click(Sender: TObject); var cont:integer; begin query1.Close; IF OpenPictureDialog1.Execute THEN begin IF NOT QUERY1.Active THEN QUERY1.Open; if QUERY1.State in [dsBrowse] then begin Database1.StartTransaction; QUERY1.Insert; QUERY3.Close; QUERY3.sql.Clear; QUERY3.SQL.Add('SELECT COUNT(*) CONT FROM IMAGENES'); QUERY3.OPEN; cont:=QUERY3.FieldByName('CONT').AsInteger; QUERY1NOIMAGEN.AsInteger :=cont+1; QUERY1IMAGEN.LoadFromFile(OpenPictureDialog1.FileName); QUERY1NUMPARTE.AsString:='Prueba'+IntToStr(cont+1); QUERY1.Post; QUERY1.ApplyUpdates; Database1.Commit; end; end ELSE SHOWMESSAGE('Se Cancelo Carga de Archivo'); end; agregarle que empesara una transaccion y que le diera commit y ya no marca el error pero solo puedo insertar 1 registro y los demas se insertan pero sin la imagen que estoy seleccionando, alguien tiene alguna idea de como hacerlo? |
La franja horaria es GMT +2. Ahora son las 20:19:02. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi