[Lazarus-es] RE: ¿Como conseguir hacer varias SQL juntas?

Maximiliano Duarte maximiliano.duarte en gmail.com
Jue Dic 24 14:47:34 CET 2015


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-ide.org/pipermail/lazarus-es/attachments/20151224/95e0d148/attachment-0002.html>


More information about the Lazarus-es mailing list