![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Parametros y ProcedureName
Hola:
Yo tuve una vez un problema parecido al que tienes y la solucion es la creacion dinamica del texto de la consulta en SQL y en Delphi lo unico que tienes es conformar la cadena con los parametros que deseas. Te envio un ejemplo para ver si le puedes sacar algo. CREATE PROCEDURE MostrarBolsoJTurno @cadena nvarchar(4000) AS declare @SQLString nvarchar(4000) set @SQLString = 'SELECT dbo.Bolsos.id, dbo.Bolsos.cartaporte, dbo.Bolsos.sek, dbo.Bolsos.jpy, dbo.Bolsos.total, dbo.Bolsos.ruta' + CHAR(13) set @SQLString = @SQLString + 'FROM dbo.Bolsos INNER JOIN dbo.Usuarios ON dbo.Bolsos.usuario = dbo.Usuarios.id' + CHAR(13) set @SQLString = @SQLString + 'WHERE ' + @cadena + CHAR(13) set @SQLString = @SQLString + 'Order by fecha, ruta' EXEC sp_executesql @SQLString GO donde el parametro cadena se lo pasas desde Delphi. Saludos Luis Garcia _____________________________ La mejor manera de decir es hacer |
|
#2
|
||||
|
||||
|
Hola, antes de nada agradecer vuestras ideas, propuestas o sugerencias a todos.
Ya las tenia en mente, pero creo que aunque del modo en que lo he hecho yo es un tanto más tedioso que alguno que me sugerís, creo que es más efectivo. Lo he hecho en pocas palabras "a pelo" es decir con el metodo CreateParameters para cada uno de los parametros del Store Procedure, teniendo un SP en el servidor para cada una de las posibles combinaciones de tablas a consultar entrelazadas por las claves ajenas y unidas por LEFT JOIN y asignándole en tiempo de ejecución al TADODataSet el Sp del servidor deseado en cada momento y llamando al procedure de creación de los parametros posteriormente. De este modo, y aunque haya debido escribir más por el gran número de parametros potenciales de las posibles consultas, el Sp reside en el servidor, por lo que sólo se compilará la primera que se ejecute y no en el lado cliente si realizase en tmp de ejecución las Strings de las consultas de modo dinámico. No obstante, gracias nuevamente y un saludo a todos. ![]()
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|