Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-05-2004
el_enigma1 el_enigma1 is offline
Miembro
 
Registrado: may 2004
Posts: 57
Poder: 20
el_enigma1 Va por buen camino
Escritura

Como puedo lograr que interbase inserte inmediatamente?
Buscando encontre que con esto
gfix -write sync -user sysdba -password masterkey C:\Bases\Mybase.gdb

lo puse para crear la base y tambien despues de crearla en IBConsole pero no me funciono, tambien dice que poniendo habilitado la opcion de Forced Write en las propiedades de la base de datos pero aun asi no lo hace inmediatamente.
Alguien sabe como puedo solucionar esto?, estoy usando delphi 5.
Responder Con Cita
  #2  
Antiguo 11-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
a que te referis con que inserte inmediatamente???
Responder Con Cita
  #3  
Antiguo 13-05-2004
el_enigma1 el_enigma1 is offline
Miembro
 
Registrado: may 2004
Posts: 57
Poder: 20
el_enigma1 Va por buen camino
Refiero

A que deceo que no vayan a la memoria cache ya que si se traba el sistema, se apaga por corte de electricidad, si hay una aplicacion corriendo en ese instante y hace cosas raras, etc. los datos se pierden y quiero evitar eso.
Responder Con Cita
  #4  
Antiguo 13-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
bueno, a parte de lo que mencionas en tu primer post... haciendo un Commit de la transacción deberia de funcionar, no??
Responder Con Cita
  #5  
Antiguo 13-05-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Yo hago esto:

Código Delphi [-]
procedure TDmRauch.AgendaAfterPost(DataSet: TDataSet);
begin
IbTransAgenda.CommitRetaining;
end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 13-05-2004
el_enigma1 el_enigma1 is offline
Miembro
 
Registrado: may 2004
Posts: 57
Poder: 20
el_enigma1 Va por buen camino
Uso esto

Cita:
Empezado por marcoszorrilla
Yo hago esto:

Código Delphi [-]
procedure TDmRauch.AgendaAfterPost(DataSet: TDataSet);
begin
IbTransAgenda.CommitRetaining;
end;

Un Saludo.
ok mira para una insert y un Update hago esto

Una insercion la hago asi

Uso un TIBQuery
insert into TIVA (CVEIVA, DESCRIPCION, IVA) values (:I_CVEIVA, :I_DESCRIPCION, :I_IVA);

y al precionar el BotonInsertar hago esto

QInsertarIVA.Close;
QInsertarIVA.ParamByName('I_CVEIVA').AsString := EClave.Text;
QInsertarIVA.ParamByName('I_DESCRIPCION').AsString := EDescripcion.Text;
QInsertarIVA.ParamByName('I_IVA').AsString := EIVA.Text;
QInsertarIVA.Prepare;
QInsertarIVA.Open;

Una modificacion tambien con TIQuery
update TIVA set DESCRIPCION = :I_DESCRIPCION, IVA = :I_IVA where CVEIVA = :I_CVEIVA;

QModificarIVA.Close;
QModificarIVA.ParamByName('I_CVEIVA').AsInteger := StrToInt(EClave.Text);
QModificarIVA.ParamByName('I_DESCRIPCION').AsString := EDescripcion.Text;
QModificarIVA.ParamByName('I_IVA').AsFloat := StrToFloat(EIVA.Text);
QModificarIVA.Prepare;
QModificarIVA.Open;

Que le quito que le pongo?
Responder Con Cita
  #7  
Antiguo 13-05-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Para empezar, para sentencias SQL que no devuelven valores, no has de usar Open, sino ExecSQL

Luego, despues del ExecSQL es cuando has de hacer un Commit o CommitRetaining de la transacción

Espero te sirva
Responder Con Cita
  #8  
Antiguo 13-05-2004
el_enigma1 el_enigma1 is offline
Miembro
 
Registrado: may 2004
Posts: 57
Poder: 20
el_enigma1 Va por buen camino
Probaremos

Cita:
Empezado por cadetill
Para empezar, para sentencias SQL que no devuelven valores, no has de usar Open, sino ExecSQL

Luego, despues del ExecSQL es cuando has de hacer un Commit o CommitRetaining de la transacción

Espero te sirva
La verdad como siempre lo he hecho asi, a tambien porque en la escuela asi me enseñaron.

Gracias al ratito cuento que tal.
Responder Con Cita
  #9  
Antiguo 13-05-2004
el_enigma1 el_enigma1 is offline
Miembro
 
Registrado: may 2004
Posts: 57
Poder: 20
el_enigma1 Va por buen camino
Ya quedo

Cadetill eso era lo que necesitaba.


Bueno, ya quedo y muchas gracias a todos, que la verdad ya me traia loco.
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 06:30:38.


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