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�:
Show quoted text 199 lines
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
