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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-09-2007
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
Insercion de nuevo registro en Interbase 6

Hola a todos.
La duda que les planteo es la siguiente: ¿es posible que Interbase 6 se comporte como BDE en la inserccion de un nuevo registro en la Base de Datos?, es decir, inmediatamente que se produce la insercion del nuevo registro en la BD, el que lo ha insertado "ya lo vea" en un Grid o similar.
Intuyo que es un tema relacionado con las trasacciones en Interbase. Me interesa que lo vea quien lo inserta, no es tan importante que lo vean los otros puestos desde donde se ejecuta el programa, pero sí el puesto de red desde donde se inserta el nuevo registro.
Estoy casi seguro que este efecto es posible pero no se como hacerlo.
El modo en que inserto un nuevo registro es el siguiente, utilizo para la parte cliente DELPHI 7:
Código Delphi [-]
procedure TForm2.BitBtn1Click(Sender: TObject);
var
  NumCarnet: integer;
  LetraNif: string;
  Cad: String;
begin
Cad:=CalculaLongitud;
NumCarnet:=StrToInt(Cad);
LetraNif:=NIF(NumCarnet);
with DM.IBSP1 do
 begin
  Params[0].Value:=StrToInt(CalculaLongitud);  //DNI
  Params[1].Value:=LetraNif;                   //Letra del nif
  Params[2].Value:=Edit3.Text;                 //Primer apellido
  Params[3].Value:=Edit4.Text;                 //Segundo apellido
  Params[4].Value:=Edit5.Text;                 //Nombre
  Params[5].Value:=ComboBox1.Text;             //Sexo
  Params[6].Value:=StrToDate(MaskEdit2.Text);  //Fecha de nacimiento
  Params[7].Value:=Edit8.Text;                 //Nombre del padre
  Params[8].Value:=Edit9.Text;                 //Nombre de la madre
  Params[9].Value:=Edit10.Text;                //Lugar de nacimiento
  Params[10].Value:=ComboBox2.Text;            //Alta_Baja
  Params[11].Value:=Edit11.Text;               //Activiadad
  Params[12].Value:=Edit12.Text;               //Entidad
  Params[13].Value:=Edit13.Text;               //Domicilio entidad
  Params[14].Value:=Edit14.Text;               //Telefono entidad
  Params[15].Value:=Edit15.Text;               //Fax entidad
  Params[16].Value:=StrToDate(MaskEdit1.Text); //Fin de autorizacion
  Params[17].Value:=Memo1.Lines.Text;          //Lugares autorizados
  Params[18].Value:=Memo2.Lines.Text;          //Observaciones
  Params[19].Value:=Edit18.Text;               //Marca de coche
  Params[20].Value:=Edit19.Text;               //Modelo coche
  Params[21].Value:=Edit20.Text;               //Matricula coche
  Prepare;
  try
   ExecProc;
  finally
   UnPrepare;
  end;
 end;
Close;
end;
Es decir, ejecuto este procedimiento almacenado pero luego no se que tengo que hacer para que a la vuelta al formulario principal (donde estan todos los registros de la tabla principal) aparezca "ya" este nuevo registro.
No se si me he hecho entender. Llevo detras de este tema demasiado tiempo para que mis neuronas aguanten mas por eso les pido una ayuda. Muchas gracias de antemano.
Responder Con Cita
  #2  
Antiguo 07-09-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 18
Gabo Va por buen camino
Bueno, no se exactamente cómo lo estás haciendo... pero te puedo explicar como lo hago yo...

Los DBGrid los enlazo a un DataSource el cual se llena de datos desde un Query. Por lo tanto, cuando inserto, modifico o elimino un registro, cierro y abro la Query nuevamente, con lo que el cambio se refleja en el DBGrid.
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.
Responder Con Cita
  #3  
Antiguo 07-09-2007
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Poder: 21
gorsan Va por buen camino
Hola Gabo. Gracias por tu respuesta.
Los datos de la tabla sobre la que inserto los nuevos registros o los borro estan contenidos en un IBDataSet que a su vez esta contenido en un Modulo de datos y el DataSource que esta enlazado con ese IBDataSet es el que le pasa los datos al Grid o los data-aware.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Maxima valor de un nuevo registro Arturo_ Tablas planas 8 23-07-2007 22:14:32
Firebird Suma 2 valores en un campo autoincrementado en insercion de registro Adrian Murua Firebird e Interbase 5 03-05-2007 12:16:19
problemas en un insercion de un nuevo registros alfil123 Conexión con bases de datos 2 25-01-2006 02:00:06
InserciÓn De Registro Con Maestro-detalle perillan Conexión con bases de datos 5 23-10-2005 11:15:23
Insertar Nuevo Registro perillan Conexión con bases de datos 3 24-04-2005 14:30:23


La franja horaria es GMT +2. Ahora son las 21:48:16.


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