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 16-11-2009
servicomp servicomp is offline
Miembro
 
Registrado: oct 2003
Ubicación: Cartago
Posts: 153
Poder: 21
servicomp Va por buen camino
Ayuda con una busqueda

Cordial saludo

Estoy trabajando en D2007 y usando Firebird 2.1, como sistema de conexión de la base de datos estamos usado IBX (IBDatabase, IBTransaction, IbDataset y un DataSource). Creamos una Tabla pequeña para hacer los estudios de práctica usando un gestor de las tantos que recomiendan en las páginas quedando la estructura asi:

Código SQL [-]
CREATE TABLE "FAMILIA" 
(
  "IDENTIFICACION"   INTEGER NOT NULL,
  "NOMBRE"   VARCHAR(20) NOT NULL,
  "APELLIDOUNO"   VARCHAR(20) NOT NULL,
  "APELLIDODOS"   VARCHAR(20) NOT NULL
);

Hemos creado un procedimiento para capturar la información a esta tabla de manera manual o por software, sin usar un DBGrid, el cual me ha funcionado muy bien usando el siguiente codigo

Código Delphi [-]
procedure TFManual.Button2Click(Sender: TObject);
begin
  Datamodule1.IBDataSet1.Append; {para insertar datos al final}
  Datamodule1.IBDataSet1.FieldByName('IDENTIFICACION').AsInteger:=StrToInt(edit1.Text); {primer edit}
  Datamodule1.IBDataSet1.FieldByName('NOMBRE').AsString:=Edit2.Text;
  Datamodule1.IBDataSet1.FieldByName('APELLIDOUNO').AsString:=Edit3.Text;
  Datamodule1.IBDataSet1.FieldByName('APELLIDODOS').AsString:=Edit4.Text;
  Datamodule1.IBDataSet1.Post;
  Datamodule1.IBTransaction1.CommitRetaining;
  Edit1.Text:='';
  Edit2.Text:='';
  Edit3.Text:='';
  Edit4.Text:='';
  Edit1.SetFocus;
end;

Hasta el momento no hay problema, pero necesitamos que al ingresar el campo IDENTIFICACION, este sea unico, o en otras palabras, que busquemos el valor de este campo y si se encuentra, lo mostremos en pantalla para que no se repita.

Hemos tratado con este codigo usando un IBQuery, pero no se si lo estamos haciendo bien, o es la forma correcta de hacerlo, por eso solicito su colaboración para resolver esta duda.

El codigo que estamos usando es el siguiente

Código Delphi [-]
procedure TFBusqueda.Button2Click(Sender: TObject);
begin
  IBQ1.Close;
  IBQ1.open;
  IBQ1.Active;
  IBQ1.SQL.Add('SELECT * FROM FAMILIA WHERE IDENTIFICACION='+Edit1.Text);
  IBQ1.ExecSQL;
  if (IBQ1.RecordCount=0) then
  begin
    Application.MessageBox('No se encuentra el registro buscado','Mensaje de Busqueda',0);
    IBQ1.Close;
  end
  else begin
    Edit2.Text:=inttostr(IBQ1.FieldByName('IDENTIFICACION').AsInteger);
    Edit3.Text:=IBQ1.FieldByName('NOMBRE').AsString;
    Edit4.Text:=IBQ1.FieldByName('APELLIDOUNO').AsString;
    Edit5.Text:=IBQ1.FieldByName('APELLIDODOS').AsString;
    Edit1.Text:='';
    Edit1.SetFocus;
    IBQ1.Close;
  end;

De antemano gracias por su colaboración
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
Ayuda en una busqueda.... manueltp Varios 1 17-01-2009 00:04:41
Ayuda en busqueda con SQL! rod203 SQL 3 28-04-2008 20:25:30
Problema con Búsqueda SQL Ayuda!!!!!!!!!:( lKinGl SQL 3 21-03-2008 21:32:16
Ayuda con la busqueda en una tabla mjjj Conexión con bases de datos 5 02-04-2007 23:48:12
¿Alguien me ayuda con la busqueda? sergiotur Tablas planas 3 06-03-2007 20:52:34


La franja horaria es GMT +2. Ahora son las 09:29:03.


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