Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   dudas en una consulta con sql (https://www.clubdelphi.com/foros/showthread.php?t=65678)

rufo 05-01-2010 22:50:35

dudas en una consulta con sql
 
Hola amigos primero que nada deseando feliz año,bueno les comento que estoy haciendo una consulta de unos productos pero estos tienen codigo que les asigno todo esta bien cuando almaceno un nuevo producto pero al momento de hacer una busqueda de productos por medio del codigo que tienen solo me muestra el primer producto y le capturo otro diferente y no me muestra nada, les dejo el codigo que estoy empleando.

Código:

procedure TModificacion.PngSpeedButton2Click(Sender: TObject);
begin
  if edit1.Text<>'' then
 begin
    with dm1.Q_Cproductos do
    begin
      active:=false;
      sql.Clear;
      sql.add('select * from C_productos');
      sql.add('where Productos.codigo');
      active:=true;
        if recordcount=0 then
        messagedlg('No se encontro el producto a modificar, intente de nuevo',mtinformation,[mbok],0);
        begin
          edit2.Text:=fieldbyname('producto').asstring;
          edit3.Text:=fieldbyname('codigo').asstring;
          edit4.Text:=fieldbyname('cantidad_unidad').asstring;
          edit5.text:=fieldbyname('precio_unidad').asstring;
          edit6.Text:=fieldbyname('unidad_existencia').asstring;
          dtp1.DateTime:=fieldbyname('fecha_alta').asdatetime;
          combobox1.Text:=fieldbyname('Compañia').asstring;
          combobox2.Text:=fieldbyname('categoria').asstring;
          image2.Picture.LoadFromFile(fieldbyname('foto').asstring);
        end;
    end;
  end;
end;

espero que me ayuden si estoy bien en hacer este tipo de consulta ya que quiero hacerlo casi similar al que usan en los minisuper buscando el producto al teclear solo el codigo, bueno gracias de antemano, uso delphi 5 y access 2003

ContraVeneno 06-01-2010 01:01:26

Código Delphi [-]
procedure TModificacion.PngSpeedButton2Click(Sender: TObject);
begin
  if trim(edit1.Text)<>'' then //<-- el trim es para quitar los espacios en blanco en caso de que eso hayan puesto, no es lo mismo '' que '     '
 begin
    with dm1.Q_Cproductos do
    begin
      active:=false;
      sql.Clear;
      sql.add('select P.Codigo, P.Producto, .... etc'); // No es recomendable utilizar "Select *" 
      SQL.Add('from C_productos P'); // la P es un alias para la tabla
      sql.add('where P.codigo like :Codigo');
      Parameters.ParamByName('Codigo').AsString := edit1.Text;
      active:=true;
        if recordcount=0 then
         messagedlg('No se encontro el producto a modificar, intente de nuevo',mtinformation,[mbok],0);
         begin
           edit2.Text:=fieldbyname('producto').asstring;
           edit3.Text:=fieldbyname('codigo').asstring;
           edit4.Text:=fieldbyname('cantidad_unidad').asstring;
           edit5.text:=fieldbyname('precio_unidad').asstring;
           edit6.Text:=fieldbyname('unidad_existencia').asstring;
           dtp1.DateTime:=fieldbyname('fecha_alta').asdatetime;
           combobox1.Text:=fieldbyname('Compañia').asstring;
           combobox2.Text:=fieldbyname('categoria').asstring;
           image2.Picture.LoadFromFile(fieldbyname('foto').asstring);
         end;
    end;
  end;
end;

rufo 06-01-2010 18:05:09

Gracias amigo ContraVeneno quedo solucionado como me dijiste. Gracias de nuevo.


La franja horaria es GMT +2. Ahora son las 00:50:36.

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