MySQL Nativa - At. Sr. Rao

Post Reply
User avatar
Marcelo Roggeri
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina
Contact:

MySQL Nativa - At. Sr. Rao

Post by Marcelo Roggeri »

Hola buenos dias foro, tengo este query y necesito en modo ejecucion cambiar el where,

Code: Select all | Expand

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
CARLOS ATUNCAR
Posts: 176
Joined: Thu Sep 17, 2015 11:40 pm
Location: Chincha - Peru
Contact:

Re: MySQL Nativa - At. Sr. Rao

Post by CARLOS ATUNCAR »

Saludos a mi me funciona asi

Code: Select all | Expand


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ú
carlosalbatun@gmail.com
User avatar
Marcelo Roggeri
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina
Contact:

Re: MySQL Nativa - At. Sr. Rao

Post by Marcelo Roggeri »

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
User avatar
leandro
Posts: 1688
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: MySQL Nativa - At. Sr. Rao

Post by leandro »

Creo que es lo que necesitas, pero solo funciona con variables private

Code: Select all | Expand

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

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
Marcelo Roggeri
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina
Contact:

Re: MySQL Nativa - At. Sr. Rao

Post by Marcelo Roggeri »

Perfecto eso seria, no sabia que era con variables privadas, gracias Leandro después pruebo y aviso.
Saludos
FWH - Harbour - BCC7 - PellesC
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: MySQL Nativa - At. Sr. Rao

Post by nageswaragunupudi »

Instead of SetWhere we can do like this:

Code: Select all | Expand

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
CARLOS ATUNCAR
Posts: 176
Joined: Thu Sep 17, 2015 11:40 pm
Location: Chincha - Peru
Contact:

Re: MySQL Nativa - At. Sr. Rao

Post by CARLOS ATUNCAR »

nageswaragunupudi wrote:Instead of SetWhere we can do like this:

Code: Select all | Expand

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ú
carlosalbatun@gmail.com
User avatar
nageswaragunupudi
Posts: 10691
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: MySQL Nativa - At. Sr. Rao

Post by nageswaragunupudi »

It was there for very long time.
What is your version?
Did you try on your version?
Regards

G. N. Rao.
Hyderabad, India
Post Reply