Consulta en mysql

Post Reply
surGom
Posts: 641
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Consulta en mysql

Post by surGom »

Otra consulta, para una cuenta corriente lo que hago es cargar un array y mostrarlo

Code: Select all | Expand

cQueryct := "SELECT * FROM ctacte where ncli  = "+ alltrim(str(oCta:ncli)) + " ORDER by fecha"

oQry :=oMysql:Query( cQueryct)
oQry:gotop()
do

    nImporte :=   0
    if oQry:tipo = "1"
          lTipo := .t.
      nsaldo += oQry:importe
    else
          lTipo := .f.
      nsaldo -= oQry:importe
    endif

    aadd(oCta:adet,{oQry:fecha, (oQry:descripcion  + oQry:numero),lTipo, oQry:importe, nsaldo, oQry:pventa, oQry:numero,oQry:tipodoc})
    oQry:skip()

until oQry:eof()
 


Y se muestra

Code: Select all | Expand

REDEFINE LISTBOX oBrw fields "" ID 101 of oDlg UPDATE  ON DBLCLICK detacli(oMysql,oBrw,oBrw:nAt,lcliente, oDlg  )
                                         oBrw:bline:= {|nAt| nAt:= oBrw:nAt,;
                                         iif(len(oCta:adet ) < 1 .or. nAt > len(oCta:adet), array(5),;
                                              {transform(oCta:adet[nAt,1],"@d "),oCta:adet[nAt,2] ,;
                                          iif(oCta:aDet[nAt,3], transform(oCta:aDet[nAt,4],"@e 999,999.99"),""),;                               //facturas
                                                iif(oCta:aDet[nAt,3],"", transform(oCta:aDet[nAt,4],"@e 999,999.99")),;                               //pagos
                                                transform(oCta:aDet[nAt,5],"@e 999,999.99")  } )  }


                         oBrw:setarray(oCta:adet)
                         oBrw:acolsizes := {80,158,115,115,120}
                         oBrw:aheaders := { "FECHA","DETALLE","DEBE","PAGOS","SALDO"}
                         oBrw:ajustify := {0,0,1,1,1}
                         oBrw:aHjustify := {2,2,2,2,2}
                         oBrw:lAdjlastcol:= .t.
                         oBrw:nLineStyle := 3
REDEFINE BUTTON oNbut[4] ID 106 ACTION borrar(oMysql, lcliente,oCta,oBrw )    
 

Y como veran un boton para borrar que va a esta funcion

Code: Select all | Expand

STATIC FUNCTION borrar(oMysql, lcliente,oCta,oBrw)


if MsgYesNo("¿Desea borrar este registro y todos los asociados?","Aviso del sistema")
   oQry:goto(oBrw:nAt)
   oQry:delete()
   oQry:refresh()

   ADel( oCta:aDet,oBrw:nAt )
   ASize( oCta:aDet, Len( oCta:aDet ) - 1 )
   
   corregir(oCta:adet)
   oBrw:gotop()
   oBrw:gobottom()
   oBrw:refresh()    
endif

RETURN NIL

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


Si borro el último registro no hay problema lo elimina sin mas de la base de datos, pero si la elección es algún registro intermedio no la afecta, ni la modifica en ninguno de sus registros.

Otra consulta ¿ es mejor hacer una sentencia en mysql para mostrar la cuenta corriente ó hacerlo como lo he planteado?

Gracias por su atención

Luis
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: Consulta en mysql

Post by joseluisysturiz »

Saludos, si no vas a manipular la data del xBrow, me refierona editar algun registro, es bueno trabajar directamente con el qry, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
surGom
Posts: 641
Joined: Wed Oct 19, 2005 12:03 pm
Contact:

Re: Consulta en mysql

Post by surGom »

Gracias José Luis, venía manejando el auto hacia casa y pense en lo que vos me comentaste. Lo voy a cambiar

Luis
User avatar
joseluisysturiz
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: Consulta en mysql

Post by joseluisysturiz »

surGom wrote:Gracias José Luis, venía manejando el auto hacia casa y pense en lo que vos me comentaste. Lo voy a cambiar

Luis


Cualquier ayuda que se pueda estamos por aca a la orden, para eso es el foro...saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
Post Reply