Ver Mensaje Individual
  #6  
Antiguo 17-11-2009
Luis F. Orjuela Luis F. Orjuela is offline
Miembro
 
Registrado: may 2003
Ubicación: Bogotá - Colombia
Posts: 68
Reputación: 22
Luis F. Orjuela Va por buen camino
Smile

Hazlo así y me cuentas si te funciona.....

Código Delphi [-]
procedure TFBusqueda.Button2Click(Sender: TObject);
begin
  IBQ1.Close;
  IBQ1.Active;
  IBQ1.SQL.Add('SELECT * FROM FAMILIA WHERE IDENTIFICACION=:NIT');
  IBQ1.ParambyName('NIT').AsInteger:=StrtoInt(Edit1.Text);
  IBQ1.Open;
  IBQ1.ExecSQL;
  if (IBQ1.IsEmpty) 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;

Descripción de las siguientes instrucciones:
IBQ1.SQL.Add('SELECT * FROM FAMILIA WHERE IDENTIFICACION=:NIT');
:NIT (Es la forma en que se pasa un parámetro a un script SQL.

IBQ1.ParambyName('NIT').AsInteger:=StrtoInt(Edit1.Text);
En este punto es donde se pasa el valor al parámetro, y como el campo 'IDENTIFICACION' está definido como INTEGER, pués así es la forma, y claro, debemos hacer un cast a tu Edit1.Tex, es decir, convertirlo en entero.

Y por último :
if (IBQ1.IsEmpty) then

Se está preguntando que si la consulta anterior es vacía, en tal caso muestras tu mensaje o de lo contrario das de alta tu nuevo registro.


Un caluroso saludo..
__________________
Ing. LUIS FERNANDO ORJUELA
BOGOTA - COLOMBIA
Responder Con Cita