FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour MySQL Nativa - At. Sr. Rao
Posts: 344
Joined: Sat Jul 22, 2006 09:04 PM

MySQL Nativa - At. Sr. Rao

Posted: Tue Aug 27, 2024 02:26 PM
Hola buenos dias foro, tengo este query y necesito en modo ejecucion cambiar el where,
Code (fw): Select all Collapse
TEXT INTO cSql
               SELECT
                   vi.cpte_fecha,
                   vi.cpte_nombre,
                   vi.cpte_letra,
                   vi.cpte_ptovta,
                   vi.cpte_numero,
                   pro.descripcion,
                   vi.cantidad,
                   cli.nombre_fiscal,
                   ven.nombre AS nombreVendedor,
                   CASE
                       WHEN vi.cpte_nombre = 'FACTURA' OR vi.cpte_nombre = 'Movimiento' THEN importe_item_neto
                       WHEN vi.cpte_nombre = 'NOTA DE CREDITO' OR vi.cpte_nombre = 'Crédito' THEN -importe_item_neto
                       ELSE 0
                   END AS neto,
               ven.id_vendedor,
               ven.nombre
               FROM
                   ventas_item vi
               LEFT JOIN productos  pro ON pro.id_producto=vi.id_articulo
               LEFT JOIN clientes   cli ON cli.id_cliente = vi.id_cliente
               LEFT JOIN vendedores ven ON ven.id_vendedor = vi.id_vendedor
               WHERE vi.cpte_fecha BETWEEN ? AND ?
               ORDER BY
                   vi.cpte_fecha;
          ENDTEXT

          ::oQryDia:Requery({ ::dFecDes, ::dFecHas })
En Dolphin existe un metodo setWhere pero en la nativa haciendolo asi, no se como modificar el where dentro del TEXT INTO
FWH - Harbour - BCC7 - PellesC
Posts: 230
Joined: Thu Sep 17, 2015 11:40 PM

Re: MySQL Nativa - At. Sr. Rao

Posted: Tue Aug 27, 2024 02:48 PM
Saludos a mi me funciona asi
Code (fw): Select all Collapse
cState := "NY"
nMinAge := 41
nMaxAge := 50
oRs := oCn:RowSet( "select * from `customer` where `state` = ? and 'age' between ? and ?", { cState, nMinAge, nMaxAge } )
 
cState  := "WA"
nMinAge := 51
nMaxAge := 60
oRs:Requery( { cState, nMinAge, nMaxAge } )
Carlos Atuncar - CaSoftSystem
Chincha - Perú
+51983478218
carlosalbatun@gmail.com
Posts: 344
Joined: Sat Jul 22, 2006 09:04 PM

Re: MySQL Nativa - At. Sr. Rao

Posted: Tue Aug 27, 2024 08:19 PM

Hola Carlos si yo tambien lo uso asi, pero al habilitar varios filtros que pueden variar de acuerdo a lo que necesite el usuario filtrar lo que esta a la derecha del WHERE varia y es eso lo que debo cambiar es por eso que directamente mostre el REQUERY().

Bueno espero haberme explicado

Gracias

FWH - Harbour - BCC7 - PellesC
Posts: 1818
Joined: Wed Oct 26, 2005 02:49 PM

Re: MySQL Nativa - At. Sr. Rao

Posted: Tue Aug 27, 2024 10:38 PM
Creo que es lo que necesitas, pero solo funciona con variables private
Code (fw): Select all Collapse
Function creamosTigger(oCn) 
Local cQry

PRIVATE cTblFct :=  "facturas"
PRIVATE cTblBsc :=  "pesos"

TEXT INTO cQry
    CREATE TRIGGER borracaptura AFTER DELETE ON &cTblFct
        FOR EACH ROW
        BEGIN
          UPDATE &cTblBsc SET estado_pedido=1 WHERE documento=OLD.docume AND consecutivo=OLD.consec;
    END;
ENDTEXT
TRY
  oCn:Execute(cQry)
CATCH oError
  FW_ShowAdoError(oCn)
END
Return nil
Con esto puedes cambiar el contenido de las variables dentro del TEXT INTO
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 344
Joined: Sat Jul 22, 2006 09:04 PM

Re: MySQL Nativa - At. Sr. Rao

Posted: Tue Aug 27, 2024 11:12 PM

Perfecto eso seria, no sabia que era con variables privadas, gracias Leandro después pruebo y aviso.

Saludos

FWH - Harbour - BCC7 - PellesC
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM

Re: MySQL Nativa - At. Sr. Rao

Posted: Wed Sep 04, 2024 09:18 PM
Instead of SetWhere we can do like this:
Code (fw): Select all Collapse
function ChangeWhere()

   local oCn, cSql, oRs

   oCn   := MsgRun( "Connecting", "MYSQL", ;
            { || maria_Connect( "209.250.245.152,fwh,fwhuser,FiveTech@2022", .t. ) } )

   oCn:lShowErrors := .t.

   cSql  := "SELECT FIRST,STATE,AGE FROM customer ?"
   oRs   := oCn:RowSet( cSql, { "WHERE STATE = 'NY'" } )
   XBROWSER oRs
   oRs:Requery( { "WHERE AGE > 60" } )
   XBROWSER oRs
   oRs:Close()

  oCn:Close()

return nil
Regards



G. N. Rao.

Hyderabad, India
Posts: 230
Joined: Thu Sep 17, 2015 11:40 PM

Re: MySQL Nativa - At. Sr. Rao

Posted: Thu Sep 05, 2024 03:28 AM
nageswaragunupudi wrote:Instead of SetWhere we can do like this:
Code (fw): Select all Collapse
function ChangeWhere()

   local oCn, cSql, oRs

   oCn   := MsgRun( "Connecting", "MYSQL", ;
            { || maria_Connect( "209.250.245.152,fwh,fwhuser,FiveTech@2022", .t. ) } )

   oCn:lShowErrors := .t.

   cSql  := "SELECT FIRST,STATE,AGE FROM customer ?"
   oRs   := oCn:RowSet( cSql, { "WHERE STATE = 'NY'" } )
   XBROWSER oRs
   oRs:Requery( { "WHERE AGE > 60" } )
   XBROWSER oRs
   oRs:Close()

  oCn:Close()

return nil

esta solución de que version esta disponible ?
Carlos Atuncar - CaSoftSystem
Chincha - Perú
+51983478218
carlosalbatun@gmail.com
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM

Re: MySQL Nativa - At. Sr. Rao

Posted: Thu Sep 05, 2024 05:27 PM

It was there for very long time.

What is your version?

Did you try on your version?

Regards



G. N. Rao.

Hyderabad, India

Continue the discussion