![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Obtener Resulta de Funcion SQL con DBExpress
Hola amigos buenos días.
Alguien sabe si es posible obtener el resultado de una función de SQL SERVER con DBEXPRESS del Delphi 7, he estado buscando información en los foros y no he encontrado nada lo poco que he encontrado es con ADO, como el sistema todo esta desarrollado con DBEXPRESS es por ello mi necesidad, si alguien sabe si es posible y me puede compartir el componente a usar o la sintaxis se los voy agradecer enormemente. Su amigo Charless |
#2
|
||||
|
||||
Puedes ejecutarla dentro de una SELECT (dependiendo del tipo de función) y recoger el resultado de la select de la forma estandard.
__________________
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. |
#3
|
|||
|
|||
El problema lo tengo con una función ( Un store procedure de sql server) es un store que genera varios cálculos y al final regresa un valor, quiere ver si con algún componente de dbexpress puedo obtener ese dato, para ejecutarlo no tengo problema lo hago con un tsimpledataset, para obtener el valor de retorno quise hacer esto pero no funciono:
SQLStoredProc1.Name:='validaCION'; SQLStoredProc1.ParamByName('FOLIO').VALUE := folio; SQLStoredProc1.ExecProc; |
#4
|
||||
|
||||
Más o menos así (depende de qué tipo sea el campo):
¡¡¡Y no olvides las etiquetas para el código fuente!!! ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#6
|
||||
|
||||
Hola.
El problema para nosotros es que desconocemos nombres y tipos de los parámetros que se le deben enviar al procedimiento almacenado, así como también el nombre y el tipo del retorno. No trabajo con MS-SQLServer, pero en líneas generales creo que al componente deberías darle minimamente esos datos. Pongamos, por citar un ejemplo, un stored procedure que realize lo mismo que la función Pos de Delphi: Ese es el modo en que funciona en los RDBMS que he trabajado, así que pienso que también debería hacerlo en MS-SQLServer... Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
Ya hice la prueba y me marca que no encuentra el parámetro, esta es la función que espero cachar el resultado que retorna
CREATE FUNCTION [dbo].[VALIDACION] (@FOLIO as varchar(50) ) returns varchar(10) as begin declare @ent as integer, @sal as integer,@resul varchar(10) set @ent = (select count(*) from dbo.entrada WHERE FOLIO=@FOLIO) set @SAL = (select count(*) from dbo.SALIDAS WHERE FOLIO=@FOLIO) set @resul = convert(varchar(10), @ent) +convert(varchar(10), @SAL) return @resul end |
#8
|
|||
|
|||
Hola a todos,
como ya te ha comentado CASIMIRO NOTEVI, al tratarse de una funcion debes de utilizar un TSQLQuery, el problema lo puedes tener por la forma en que hay que realizar llamadas en MSSQLServer a funciones y procedimientos, prueba este código:
|
#9
|
||||
|
||||
Generando una función como esta (que es la misma que la tuya, pero usando una par tablas mías):
Y ejecutrando esta consulta:
Obtienes un único registro con el valor resultado. Para obtenerlo desde Delphi, tal y como han comentado un TQuery (derivado).
__________________
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. |
#10
|
||||
|
||||
Hola.
Cita:
Una misma función o stored procedure debería poderse llamar desde ambos componentes, ya sea TSQLStoredProc o TSQLQuery con el mismo resultado. Repitiendo el ejemplo anterior, del mismo modo funciona: Para el primer ejemplo usé el TSQLStoredProc ya que ese figuraba en tu intento. Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ORDER BY No resulta con CHAR | MAXIUM | Firebird e Interbase | 17 | 14-03-2017 09:07:43 |
Obtener el parametro de salida de una funcion de Sql en Delphi | titooo | MS SQL Server | 6 | 17-06-2013 15:35:46 |
(DBExpress)la función IsIndexField del TSQLQuery siempre me devuelve falso | amezeta32 | Conexión con bases de datos | 0 | 17-08-2006 00:20:46 |
Como obtener los parametros para dbexpress al conectarme por odbc..! | Arturo | Conexión con bases de datos | 2 | 20-05-2006 00:51:42 |
consulta SQL que me resulta compleja | j2mg | SQL | 5 | 29-05-2003 22:50:13 |
![]() |
|