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 10-10-2007
Cheerpipe Cheerpipe is offline
Miembro
 
Registrado: oct 2006
Posts: 46
Poder: 0
Cheerpipe Va por buen camino
Problema con ejecucion de consulta SQL por codigo (Firebird)

Bien, esto me esta rompiendo la cabeza, espero alguno de los maestros de aca me puedan ayudar

Tengo el siguiente codigo el cual es una funcion con el objetivo de insertar un registro en la DB.

Código Delphi [-]
var
  trnExecute: TIBTransaction;
  qryExecute: TIBQuery;
begin
  Result:=False;
  qryExecute:=TIBQuery.Create(nil);
  qryExecute.Database:=dbMain.dbMain;
  trnExecute:=TIBTransaction.Create(nil);
  trnExecute.DefaultDatabase:=dbMain.dbMain;
  qryExecute.Transaction:=trnExecute;
  trnExecute.Params.Clear;
  trnExecute.Params.Add('read_committed');
  trnExecute.Params.Add('rec_version');
  trnExecute.Params.Add('nowait');
  trnExecute.StartTransaction;
  qryExecute.SQL.Text:='INSERT INTO LOG_MAESTRO(ID_USUARIO,FECHA,FORMULARIO,HORA,ACCION,GUIA,OT,ID_CLIENTE,ID_CARTERO,CANTIDAD) VALUES(:ID_USUARIO,:FECHA,:FORMULARIO,:HORA,:ACCION,:GUIA,:OT,:ID_CLIENTE,:ID_CARTERO,:CANTIDAD)';

  with qryExecute do
  try
    trnExecute.StartTransaction;
    ParamByName('ID_USUARIO').value:=idUsuario;
    ParamByName('FORMULARIO').value:=formulario;
    ParamByName('FECHA').value:=date;
    ParamByName('ACCION').value:=accion;
    ParamByName('HORA').value:=time;
    ParamByName('GUIA').Value:=guia;
    ParamByName('OT').value:=ot;
    ParamByName('ID_CLIENTE').value:=idcliente;
    ParamByName('ID_CARTERO').value:=idcartero;
    ParamByName('CANTIDAD').Value:=cantidad;
    if not active then open;
    trnExecute.Commit;
    Result:=True;
  except
    trnExecute.Rollback;
  end;
  qryExecute.Free;
  trnExecute.Free;
end;

Creo la consulta y la transaccion, asigno los valores correspondientes a ambos, pero al momento de llegar a la linea

Código Delphi [-]
trnExecute.StartTransaction;


el programa me arroja los siguientes errores.

Código:
Project cprivados.exe raised exception class EIBClientError with message 'Cannot perform operation -- DB is not open'.
y

Código:
Project cprivados.exe raised exception class EIBClientError with message 'Transaction is not active'.
La verdad no se que puede ser he probado cambiando el orden de las lineas, he buscado codigos similares en internet y no veo que es lo que me falla.

Si alguien pudiese orientarme se lo agradeceria un monton.

PD: La base de datos se llama dbMain y esta en el modulo de datos dbMain. La conexion con la DB se realiza al momento de la creacion del modulo de datos, lo cual ocurre con el inicio de la aplicacion, por lo que la DB esta conectada permanentemente desde el inicio de la aplicacion.

Quizas este demas decir que todas las consultas que se hacen con componentes arrastrados desde la paleta de componentes funcionan bien, solo tengo problema con esta consulta con código.
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 ejecución de DTS grotero76 Conexión con bases de datos 4 20-09-2007 20:05:07
tengo un codigo repetido en una consulta narcisoplayero SQL 11 04-06-2007 20:51:34
Varios equipos en red con el servidor de Firebird en ejecución Sick boy Firebird e Interbase 2 09-06-2006 11:40:11
Error en Consulta de tablas creadas en tiempo de ejecucion javicho_villa Varios 1 02-02-2006 17:14:28
Como configurar un alias en el DataBaseDesktop, pero por codigo (tiempo de ejecución) hhuillcen Conexión con bases de datos 1 14-06-2003 06:16:45


La franja horaria es GMT +2. Ahora son las 06:28:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi