![]() |
![]() |
| 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
|
|||
|
|||
|
No se si he entendido bien lo que quieres hacer, pero pienso que podrías probar algo como esto, después de asignar el nombre del procedimiento. Sustituyendo el ADOQuery por ADOStoredproc.
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
parametros:TParameters;
begin
parametros:=AdoQuery1.Parameters; //recoges los parametros definidos en diseño
AdoQuery2.Parameters:=parametros; //se los asignas al objeto que quieras.
AdoQuery2.Parameters.ParamByName('SOC').Value:='01';
AdoQuery2.SQL:=AdoQuery1.SQL;
end;
Si el numero de parametros es el mismo y quieres pasar los mismos valores con recorrer todos los parametros y asignando el valor que tenian en el storedproc1 al storedproc2 creo que lo tendrias solucionado. Espero haberte ayudado, y sino, por lo menos me he escaqueado un ratito..leches. Suerte. |
|
#2
|
|||
|
|||
|
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 |
|
#3
|
||||
|
||||
|
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 | |
|
|
|