Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-07-2015
cipce22 cipce22 is offline
Miembro
NULL
 
Registrado: may 2015
Posts: 22
Poder: 0
cipce22 Va por buen camino
Problema al comenzar transaccion

Hola a todos, estoy utilizando delphi 2010, windows 8 y los componentes de Interbase (TIBQuery,IBTransaction,TIBDatabase) alojados en un modulo de datos(dm) realizando una aplicacion que busque ciertos registros en base a un CAMPO y un VALOR que solicito al cliente, los muestro posteriorment en un grid, de la sig. manera

Código Delphi [-]
qsql:='select matricul.id,matricula,bastidor, marca, modelo, ano, placasauto, cf1 || '+chr(39)+' '+chr(39)+' || apellido1 || '+chr(39)+' '+chr(39)+' || apellido2 as NOMBRE'+  ' from 
matricul join clientes on matricul.rfnclientes=clientes.id' +' where '+Cb_Identificador.Text+' like '+CHR(39)+'%'+Edit_valor.Text+CHR(39);  

  dm.IBDatabase1.Open;  
       with dm.IBQuery1 do      
          begin                                              
              if Transaction.Active then                  
             begin                                           
                 Transaction.Commit;             
              end;          
       Transaction.StartTransaction;            
      SQL.Clear;          
      SQL.Add(qsql);         
      OPEN;                                         
      Transaction.CommitRetaining;                   
    end;




Hasta aqui todo sigue bien, despues de eso debo actualizar los registros no seleccionados, hice este procedimiento para lograrlo:
Código Delphi [-]
procedure  UPDATE_f(dataset: TIBQuery; query: string; msgerror: string);
 begin 
  with dataset do                                    
   begin                                  
       Transaction.StartTransaction;            
       SQL.Clear;                            
       SQL.Add(query);                         
       Prepare;                                
       params.ParamByName('id_matricula_nvo').AsInteger:=Form_Seleccion.campo_id_oficial;           
       ExecSQL;        
       try                     
          Transaction.Commit;                
       except               
          on E: Exception do       
          begin                     
             Application.MessageBox( PChar( E.Message ), PChar( msgerror ), MB_ICONSTOP );                               
             dataset.Transaction.Rollback;                                         
          end;                           
       end;                        
    end; 
end;

Al ser muchas querys a actualizar distintas la ejecuto así
Código Delphi [-]
UPDATE_f(dm.IBQuery1,sqql,'Error al actualizar HISTOMAT');

Este lo uso dandole el valor de la query que voy armando en otra parte, el problema es el siguiente y por el cual pongo todo lo anterior:
al llegar a la linea de la funcion, me da una violacion de acceso
Código Delphi [-]
Transaction.StartTransaction;

Ya intenté hacerlo sin el procedure(digamos que escrito una y otra vez, en cada parte), ya probé duplicando los componentes de la base de datos(obviamente cambiando los nombres) y
nada, sigo con el error de la violacion, tambien aparece si en esa linea o en el procedimiento pongo lo sig. :
Código Delphi [-]
dm.IBDatabase1.Close;


alguien podria ayudarme? o darme alguna pista de por donde atacar el problema?

Última edición por Neftali [Germán.Estévez] fecha: 17-07-2015 a las 08:56:07. Razón: corrección de formato
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema con transaccion mierda SQL 0 05-05-2007 16:23:18
Problema con transaccion en SQL server JuanchoArg SQL 2 13-12-2006 22:59:37
Problema con excepsión y transacción mpedra MS SQL Server 8 11-04-2006 22:33:32
Problema con transaccion con IB reina Varios 2 03-09-2005 02:40:11
Urgente - problema de insertar en tabla - Transaccion Activa Patricio Conexión con bases de datos 2 27-06-2005 16:29:06


La franja horaria es GMT +2. Ahora son las 08:24:10.


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
Copyright 1996-2007 Club Delphi