gracias Un Saludo, José Bermúdez Departamento Informática. Alcoholes Montplet, S.A.
_____ De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de Fernando Pérez Enviado el: viernes, 14 de septiembre de 2007 13:27 Para: forum.help400 Asunto: Re: SQL en RPG Solo añadir que además de utilizar la sentencia en un cursor, también puedes ejecutarla (para deletes, updates, inserts, create table as... ): c/Exec Sql Prepare prep1 From :SqlPrepare c/End-exec c/Exec Sql execute Prep1 c/End-Exec Saludos. Fernando Pérez Cerámica Saloni. Dpto. Auditoría y Organización [EMAIL PROTECTED] escribió: Debes usar Sql dinámico. no es demasiado complicado, tienes que crearte unas variables de tipo Varying para preparar las Querys y ejecutar el Sql prepare. Yo normalmente creo cinco variables Varying que son la SQLSELECT, SQLWHERE, SQLORDER, SQLGROUP y SQLPREPARE. Cuando acabo de cargar en tiempo de ejecución los valores de la query en sus respectivas variables, las muevo todas a la última SQLPREPARE. A partir de ahí poca cosa más, exceptuando el ejecutar el Sql prepare algo así ..... c/Exec Sql Prepare prep1 From :SqlPrepare c/End-exec c/Exec Sql Declare C1 Cursor For Prep1 c/End-Exec espero te sirva. Saludos Felipe Martínez [EMAIL PROTECTED] http://www.tcbcn.com Jose Bermúdez <mailto:[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Enviado por: [EMAIL PROTECTED] 14/09/2007 11:50 Por favor, responda a "forum.help400" <mailto:[email protected]> <[email protected]> Para "'forum.help400'" <mailto:[email protected]> <[email protected]> cc Asunto SQL en RPG Categoría: Es posible montar la cláusula WHERE o ORDER BY de un sql de Manera variable. Ir construyéndola en función de una pantalla que el usuario va seleccionando y ordenando. Quiero cambiar C/Exec Sql C+ Declare Lector1 Cursor for C+ SELECT * C+ FROM "FICHERO" C+ WHERE( C+ Campo1<=:DESDEP1 and Campo1<= :HASTAP1 C+ Campo2<=:DESDEP2 and Campo2<= :HASTAP2 C+ ) ORDER BY Campo1,Campo2 C+ For Read Only C/End-Exec Por algo asi C if condicion1 then C Eval Sqlstm='Where(campo1<="' + DESDEP1 + '" and Campo1<="' +HASTAP1) C Eval OrdStm="ORDER BY(Campo1,Campo2)" C Else C Eval Sqlstm='Where(campo2<="' + DESDEP2 + '" and Campo2<="' +HASTAP2) C Eval OrdStm="ORDER BY(Campo2,Campo1)" C End C/Exec Sql C+ Declare Lector1 Cursor for C+ SELECT * C+ FROM "FICHERO" C+ :Sqlstm C+ :OrdStm C+ For Read Only C/End-Exec Un Saludo, José Bermúdez Departamento Informática. Alcoholes Montplet, S.A. __________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; Publicaciones Help400, S.L. - Todos los derechos reservados http://www.help400.es _____________________________________________________ Para darte de baja visita la siguente URL: http://listas.combios.es/mailman/listinfo/forum.help400 _____ __________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; Publicaciones Help400, S.L. - Todos los derechos reservados http://www.help400.es _____________________________________________________ Para darte de baja visita la siguente URL: http://listas.combios.es/mailman/listinfo/forum.help400
__________________________________________________ Forum.HELP400 es un servicio m&#225;s de NEWS/400. &#169; Publicaciones Help400, S.L. - Todos los derechos reservados http://www.help400.es _____________________________________________________ Para darte de baja visita la siguente URL: http://listas.combios.es/mailman/listinfo/forum.help400

