[Lazarus-es] Resumen de Lazarus-es, Vol 99, Envío 10

Pedro Pablo Oviedo Vera servinformat en enpa.minag.cu
Mie Dic 30 21:05:14 CET 2015


buen día ,,,,,como lo veo la solución pasa por un procedimiento
almacenado donde puedes programar todo lo que necesitas luego le pasas
desde tu programa pascal la llamada (como proc almacenado o como query)
los parámetros y fin del cuento!


Saludos
pp

El vie, 25-12-2015 a las 12:00 +0100,
lazarus-es-request en lists.lazarus.freepascal.org escribió:
> Envíe los mensajes para la lista Lazarus-es a
> 	lazarus-es en lists.lazarus.freepascal.org
> 
> Para subscribirse o anular su subscripción a través de la WEB
> 	http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
> 
> O por correo electrónico, enviando un mensaje con el texto "help" en
> el asunto (subject) o en el cuerpo a:
> 	lazarus-es-request en lists.lazarus.freepascal.org
> 
> Puede contactar con el responsable de la lista escribiendo a:
> 	lazarus-es-owner en lists.lazarus.freepascal.org
> 
> Si responde a algún contenido de este mensaje, por favor, edite la
> linea del asunto (subject) para que el texto sea mas especifico que:
> "Re: Contents of Lazarus-es digest...". Además, por favor, incluya en
> la respuesta sólo aquellas partes del mensaje a las que está
> respondiendo.
> 
> 
> Asuntos del día:
> 
>    1.  RE: ¿Como conseguir hacer varias SQL juntas? (Maximiliano Duarte)
>    2. Re: ¿Como conseguir hacer varias SQL juntas? (Jose Antonio Cuello)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Thu, 24 Dec 2015 10:47:34 -0300
> From: Maximiliano Duarte <maximiliano.duarte en gmail.com>
> Subject: [Lazarus-es]  RE: ¿Como conseguir hacer varias SQL juntas?
> To: Spanish version of Lazarus List
> 	<lazarus-es en lists.lazarus.freepascal.org>
> Message-ID: <567bf776.2128370a.e68c.0e1c en mx.google.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Ya te expliqué. Debes usar el sqlscript, sirve para eso.
> Pero primero debes reveer el acceso y bloqueo que quieres lograr. Ya los motores lo tienen resuelto de muchas maneras 
> 
> -----Mensaje original-----
> De: "SocGer" <socger en gmail.com>
> Enviado el: ?23/?12/?2015 19:31
> Para: "lazarus-es en lists.lazarus.freepascal.org" <lazarus-es en lists.lazarus.freepascal.org>
> Asunto: Re: [Lazarus-es]¿Como conseguir hacer varias SQL juntas?
> 
> El día 22 de diciembre de 2015, 6:03, SocGer <socger en gmail.com> escribió:
> > Buenas, uso los componentes TSQLQUery para hacer consultas, Insert o update.
> > Pero no consigo por ejemplo hacer varias cosas al mismo tiempo con estos
> > componentes. Por ejemplo un insert, después un update y despues una select.
> >
> > En Delphi 5 conseguía hacerlo sin problemas mediante ODBC, pero deseo
> > hacerlo con los componentes TSQLQUery por la facilidad de cambiar de base de
> > datos sin modificar los componentes.
> >
> > Además también necesito crear funciones o procedimientos en la base de datos
> > en tiempo real desde estos componentes y no consigo tampoco hacerlo.
> >
> > Tiene que ser posible seguro, pero igual no lo estoy haciendo bien. ¿Puede
> > alguien enviarme ejemplos o un link, que me aclare como conseguir hacer las
> > dos cosas que no consigo?. La de hacer varias consultas dentro de una misma
> > estructura SQL (Insert, update y select) y la de conseguir crear sobre la
> > base de datos un procedimiento o una función.
> >
> > Muchas gracias por vuestra labor de formación y gracias de antemano por
> > vuestra ayuda.
> 
> 
> 
> 
> 
> *****************************************************************************************
> *****************************************************************************************
> 
> 
> Gracias a todos, pero creo que me expliqué a medias.
> 
> 
> Lo que nos comenta Maxi, es cierto
> 
> 
> > Para crear algo en la base lo haces con un query pero en vez de hacer
> > open, usas excecsql.
> 
> 
> 
> Y así lo hago.
> 
> 
> Pero imaginar que tengo que hacer un Insert en una tabla y luego después un Update. Ok?
> 
> 
> Pues si los dos los intento hacer dentro de un solo query y usando execSQL, me genera un error.
> Sin embargo si los hago por separado ... dos query, funciona perféctamente.
> 
> 
> Pero no me interesa hacer dos query, porque otro usuario puede entrar al mismo tiempo (entre el Insert y el Update) y modificarme algo que no debe mientras estoy haciendo estos pasos. Es decir que tengo que entrar yo primero en el motor de base de datos hacer el Insert y el Update, y luego otro usuario si quiere después de mi.
> 
> 
> Por eso de hacerlo todo sobre una SQL y en un solo query.
> 
> 
> Si alguien lo consiguió, me puede decir como. Por supuesto sin usar funciones sobre la Base de Datos ni procedimientos almacenados.
> 
> 
> Saludos y gracias de antemano.
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20151224/95e0d148/attachment-0001.html>
> 
> ------------------------------
> 
> Message: 2
> Date: Fri, 25 Dec 2015 07:28:36 +0100 (CET)
> From: Jose Antonio Cuello <jcuello en artextrading.com>
> Subject: Re: [Lazarus-es] ¿Como conseguir hacer varias SQL juntas?
> To: Spanish version of Lazarus List
> 	<lazarus-es en lists.lazarus.freepascal.org>
> Message-ID:
> 	<404715900.241508.1451024916676.JavaMail.zimbra en artextrading.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Hola, lo que describes es justo una transacción. Básicamente abre una transacción, luego ejecutas todas las sentencias de insert, update o delete que desees (ya sea con un SqlScript como te indica Maxi o en queries separadas enlazadas a la misma transacción) y cuando terminas cierras la transacción. 
> 
> Todos los registros usados en la transacción no pueden ser usados (en la mayoría de los casos, existen maneras según el tipo de transacción) por otros usuarios, pero el dueño de la transacción puede modificar varias veces un mismo registro si así lo desea. 
> 
> Espero te sea de ayuda, un saludo y felices fiestas. 
> 
> 
> De: "SocGer" <socger en gmail.com> 
> Para: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> 
> Enviados: Miércoles, 23 de Diciembre 2015 23:31:10 
> Asunto: Re: [Lazarus-es] ¿Como conseguir hacer varias SQL juntas? 
> 
> El día 22 de diciembre de 2015, 6:03, SocGer < socger en gmail.com > escribió: 
> > Buenas, uso los componentes TSQLQUery para hacer consultas, Insert o update. 
> > Pero no consigo por ejemplo hacer varias cosas al mismo tiempo con estos 
> > componentes. Por ejemplo un insert, después un update y despues una select. 
> > 
> > En Delphi 5 conseguía hacerlo sin problemas mediante ODBC, pero deseo 
> > hacerlo con los componentes TSQLQUery por la facilidad de cambiar de base de 
> > datos sin modificar los componentes. 
> > 
> > Además también necesito crear funciones o procedimientos en la base de datos 
> > en tiempo real desde estos componentes y no consigo tampoco hacerlo. 
> > 
> > Tiene que ser posible seguro, pero igual no lo estoy haciendo bien. ¿Puede 
> > alguien enviarme ejemplos o un link, que me aclare como conseguir hacer las 
> > dos cosas que no consigo?. La de hacer varias consultas dentro de una misma 
> > estructura SQL (Insert, update y select) y la de conseguir crear sobre la 
> > base de datos un procedimiento o una función. 
> > 
> > Muchas gracias por vuestra labor de formación y gracias de antemano por 
> > vuestra ayuda. 
> 
> 
> ***************************************************************************************** 
> ***************************************************************************************** 
> 
> Gracias a todos, pero creo que me expliqué a medias. 
> Lo que nos comenta Maxi, es cierto 
> 
> > Para crear algo en la base lo haces con un query pero en vez de hacer 
> > open, usas excecsql. 
> 
> Y así lo hago. 
> 
> Pero imaginar que tengo que hacer un Insert en una tabla y luego después un Update. Ok? 
> 
> Pues si los dos los intento hacer dentro de un solo query y usando execSQL, me genera un error. 
> Sin embargo si los hago por separado ... dos query, funciona perféctamente. 
> 
> Pero no me interesa hacer dos query, porque otro usuario puede entrar al mismo tiempo (entre el Insert y el Update) y modificarme algo que no debe mientras estoy haciendo estos pasos. Es decir que tengo que entrar yo primero en el motor de base de datos hacer el Insert y el Update, y luego otro usuario si quiere después de mi. 
> 
> Por eso de hacerlo todo sobre una SQL y en un solo query. 
> 
> Si alguien lo consiguió, me puede decir como. Por supuesto sin usar funciones sobre la Base de Datos ni procedimientos almacenados. 
> 
> Saludos y gracias de antemano. 
> 
> 
> _______________________________________________ 
> Lazarus-es mailing list 
> Lazarus-es en lists.lazarus.freepascal.org 
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es 
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20151225/944ec014/attachment-0001.html>
> 
> ------------------------------
> 
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
> 
> 
> Fin de Resumen de Lazarus-es, Vol 99, Envío 10
> **********************************************

-- 
MSc. Ing. Pedro Pablo Oviedo Vera
Dirección Técnica y Desarrollo
Empresa de Proyectos e Ingeniería del
Ministerio de la Agricultura.ENPA.
Boyeros y Conill, Piso 10 Edif MINAG
Telef. (07) 884 7649





More information about the Lazarus-es mailing list