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-06-2005
Avatar de McRose
McRose McRose is offline
Registrado
 
Registrado: abr 2005
Ubicación: Villeta, Paraguay
Posts: 3
Poder: 0
McRose Va por buen camino
Question problemas con el el .Edit: qryCONSULTA.Edit

buenas, estoy teniendo un problema que no estoy pudiendo ubicar
Código Delphi [-]
{al comenzar el formulario hago esto:}
  dsCONSULTA.close;
  qyCONSULTA.SQL.Clear;
  qyCONSULTA.SQL.Add( 'SELECT * FROM PRODUCCION' );
  qyCONSULTA.SQL.Add( 'WHERE EMPRESA=0 ' );
  qyCONSULTA.SQL.Add( '          AND ID_REG=0 ' );
  qyCONSULTA.SQL.Add( '          AND BORRADO=0 ' );
  qyCONSULTA.SQL.Add( 'ORDER BY ' );
  qyCONSULTA.SQL.Add( '          EMPRESA' );
  qyCONSULTA.DataSet.Open;
  
{luego, en un ciclo, lo cargo de esta manera:}
  dsCONSULTA.DataSet.Append;
  dsCONSULTA.DataSet.FieldByName('EMPRESA').Value := pEmpresa;
  dsCONSULTA.DataSet.FieldByName('ID_REG').Value := pID_REG;
  dsCONSULTA.DataSet.FieldByName('ORDEN').Value := pOrden;
  dsCONSULTA.DataSet.FieldByName('ITEM').Value :=  pItem;
  dsCONSULTA.DataSet.FieldByName('A_UTILIZAR').Value := pAUtilizar;
  dsCONSULTA.DataSet.FieldByName('CANTIDAD').Value := 0;
  dsCONSULTA.DataSet.Post;
  
  
{después de hacer un control de entrada de la cantidad quiero hacer esto:}
  qyCONSULTA.Edit;
  dsCONSULTA.DataSet.Edit;
  dsCONSULTA.DataSet.First;
  while ( not dsCONSULTA.DataSet.Eof ) do begin
     if (dsCONSULTA.DataSet.FieldByName('CANTIDAD').AsFloat <= 0) then begin
                 porcentaje := CalculoPorcentaje;
                dsCONSULTA.DataSet.FieldByName('CANTIDAD').Value := porcentaje * pUtilizado;
              end;
              dsCONSULTA..DataSet.Next;
  end;
  dsCONSULTA.DataSet.Post;
  end;
pero me dice que la query no está en modo insert o edit.

pero como??? si ya le di el edit mas arriba ???

gracias

Última edición por marcoszorrilla fecha: 07-06-2005 a las 15:27:18. Razón: Añadir etiquetas Delphi
Responder Con Cita
  #2  
Antiguo 07-06-2005
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Entiendo que una query no se puede editar ¿¿??? pero bueno tu error en el código puede ser porque cada vez que avanzas en el dataset no editas el registro.
Debería ser asi:
Código Delphi [-]
// qyCONSULTA.Edit;
dsCONSULTA.DataSet.Edit;
dsCONSULTA.DataSet.First;
while ( not dsCONSULTA.DataSet.Eof ) do begin
if (dsCONSULTA.DataSet.FieldByName('CANTIDAD').AsFloat <= 0) then begin
porcentaje := CalculoPorcentaje;
dsConsulta.Dataset.Edit;
dsCONSULTA.DataSet.FieldByName('CANTIDAD').Value := porcentaje * pUtilizado;
dsCONSULTA.DataSet.Post;
end;
dsCONSULTA.DataSet.Next;
end;

end;

aunque por lo que veo podrías hacer ese proceso con una consulta de actualización....

Saludos, Tony
Responder Con Cita
  #3  
Antiguo 07-06-2005
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
Código Delphi [-]
if (dsCONSULTA.DataSet.FieldByName('CANTIDAD').AsFloat <= 0) then begin
  dsConsulta.Edit
  porcentaje := CalculoPorcentaje;
  dsCONSULTA.DataSet.FieldByName('CANTIDAD').Value := porcentaje * pUtilizado;
  end;

Solamente ponla en modo edición si vas a reemplaza algo, las tres líneas anteriores que tienes con edit sobran.

La consulta es editable cuando no involucra más de una tabla, en cualqier caso puedes consultar la propiedad CanModify de la consulta para saber si es editable o no. no te olvides de poner RequestLive activado.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 07-06-2005 a las 18:14:02.
Responder Con Cita
  #4  
Antiguo 07-06-2005
Avatar de McRose
McRose McRose is offline
Registrado
 
Registrado: abr 2005
Ubicación: Villeta, Paraguay
Posts: 3
Poder: 0
McRose Va por buen camino
perfecto, funciona de manera excelente

gracias
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 23:37:01.


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