FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como ejecutar código almacenado en una base de datos
Hola amigos, tal como les planteo en el título de este mensaje, estoy buscando la forma de poder ejecutar código que, previamente, fué almacenado en un campo de texto de una base de datos. Ustedes se preguntarán ¿para que hacer esto?, bueno el tema es así, necesito crear unos listados utilizando directamente el objeto printer, y quisiera almacenar todas las instrucciones necesarias para armar dicho listado en un campo de una base de datos, luego cuando necesite ese listado, recupero el código de la base de datos, y aqui esta mi problema, ¿como lo ejecuto, si es que hay alguna forma?.
Espero haber transmitido adecuadamente mi duda y quedo a la espera de alguna sabia respuesta. |
#2
|
||||
|
||||
¡Muy interesante pregunta...! pero analizandola un poco me parece muy dificil lograrlo, ya que como todos sabemos todo código de delphi es compilado y linkeado por el compilador de manera que cuando tu aplicacion (archivo.EXE) quiera poder convertir (compilar) las instrucciones recuperadas de la base de dato pues será necesario tener el compilador de delphi para poder compilar y ejecutar dichas lineas de código.
De todas formas te sugiero (personalmente) que el problema de tu listado lo resuelva de otro modo si es posible. Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#3
|
||||
|
||||
Hola
Pues me atrevería a decir, depende. Si es SQL, se puede. Si es codigo que tenga forma de ejecutarse dentro de otro proceso como una funcion, se puede. Creo que depende de a que se llama codigo. Saludos
__________________
Siempre Novato |
#4
|
||||
|
||||
Cita:
saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#5
|
||||
|
||||
Hola
Creo que por codigo dice: elementos de configuracion: Cita:
Saludos
__________________
Siempre Novato |
#6
|
|||
|
|||
gracias por los post, aclaro un poquito el tema, lo que necesitaría es poder meter todo el código necesario para construir el listado, a continuación, pongo unas cuantas líneas demostrativas:
lo que busco es meter este código dentro de un campo tipo blob, por ejemplo, y luego, desde mi aplicación, levantar el registro correspondiente, acceder a dicho campo blob, tomar el texto de allí dentro y ejecutarlo. Si se pudiera hacer esto, podriamos alimentar de listados a un sistema simplemente con enviarle, mediante cualquier forma, el registro de datos, campo blob incluido y listo, tendríamos activo un nuevo listado. Obviamente, antes se debería aseguar que el código está libre de errores. |
#7
|
|||
|
|||
un comentario mas, se que esto se puede hacer en otros lenguajes, tales como C#, mediante una técnica conocida como reflexion, de ahí que tengo esta inquietud por resolver esto de esta forma peeeero, con Delphi. Si se les ocurre otra idea que funcione mas o menos parecido a lo que busco, también les agradeceré cualquier propuesta.
|
#8
|
||||
|
||||
Hola
No se de reflexion, pero lo logico es pedir los datos no el codigo completo: Todo esto con sql por supuesto. Saludos
__________________
Siempre Novato |
#9
|
||||
|
||||
Hola
Ahora: Para hacer algo asi yo lo haria con un archivo INI ya que modificarlo seria muy sencillo sin tener que meterse a la BD. Saludos
__________________
Siempre Novato |
#10
|
||||
|
||||
Bueno yo conozco un lenguaje script llamado fastscript que permite que le des una instancia de un objeto de delphi (cualquier clase) y puedes hacer cualquier cosa con el objeto en tiempo de ejecucion mediante el lenguaje script, no se si eso te serviria, puedes programar con pascalscript vbscript y jscript, el componente es de paga...
__________________
nuestro carácter está reflejado en cada línea de código que escribimos. |
#11
|
|||
|
|||
Cita:
Para hacer algo similar en Delphi tendrías que tener el codigo antes mencionado compilado, cargarlo en memoria y ejecutarlo. Esto, en tiempos del MS-DOS no era ningún problema. Actualmente, no tengo nada claro que se pueda hacer, debido a los sistemas de protección de memoria de los micros x86 (la memoria puede ser de datos o de programa. Si es memoria de datos, no se puede ejecutar, y si es memoria de programa, no se pueje modificar). Lo más simple que puedes hacer es usar lo que te dice JoseAntonio, o sea, un lenguaje de script interpretado, y guardar tus scripts en la base de datos. Saludos, Marc |
#12
|
||||
|
||||
Cita:
__________________
nuestro carácter está reflejado en cada línea de código que escribimos. |
#13
|
||||
|
||||
Puesto que Deplhi no es un lenguaje interpretado, como otros, yo me inclinaría por lo que comenta JoseAntonio. Revisar algun paquete que permita Scripting en Delphi.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#14
|
||||
|
||||
Hay un componente, no sé si en las Jedi o en las RX que te permite escribir código y ejecutarlo. Además trae ejemplos.
Voy a ver si lo encuentro y te puedo dar más información. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#15
|
||||
|
||||
jvcl\examples\RaLib\RaInterpreter\samples de las Jedi
Yo tengo los ejemplos en el siguiente directorio de los ejemplos. Me parece super interesante, y puede que te valga. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#16
|
|||
|
|||
muchas gracias a todos por los diferentes comentarios, voy a investigar un poco este componente Jedi para ver si lo puedo acomodar a mis requerimientos.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Procedimiento almacenado que pueda consultar una base de datos diferente. | fredycc | Firebird e Interbase | 3 | 15-04-2009 21:17:06 |
Como hacer backup de una base de datos Mysql mediante codigo delphi 7 | OscarBravo | SQL | 1 | 09-02-2008 04:08:02 |
Acceder otra base de datos en Procedimiento Almacenado Firebird | mario_2000 | Conexión con bases de datos | 2 | 05-09-2006 16:35:27 |
Ejectutar Procedimiento Almacenado en otra Base de Datos | AGAG4 | Conexión con bases de datos | 2 | 20-09-2004 20:12:44 |
Como Ejecutar Un Query Desde Un Procedimiento Almacenado | multisof | Firebird e Interbase | 2 | 04-11-2003 06:15:28 |
|