Ver Mensaje Individual
  #8  
Antiguo 21-01-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Gracias por la retroalimentación, QuarkBcn.

Cita:
Empezado por Al González Ver Mensaje
[...] a qué componente y en qué línea de código asignas el valor al cuarto parámetro...
Supongo que lo anterior lo haces más o menos así:
Código Delphi [-]
CDS.Params.ParamValues ['Parametro4'] := Valor;
o bien:
Código Delphi [-]
CDS.Params.ParamByName ('Parametro4').AsXXX := ValorDeTipoXXX;
Seguramente antes de hacer el Open de ese ClientDataSet.

No me agrada la idea de que te sientas orillado a regresar a BDE. Dadas las circunstancias, me parece que una solución sería que declares una clase interpuesta en el código de tu módulo de datos (el que contiene los CDSs), la cual redefina el método virtual DoGetRecords para forzar dentro de él a que la llamada al servidor lleve todos y cada uno de los parámetros. Esto te va a servir desde Delphi 7 hasta versiones más recientes, dado que esas clases han cambiado muy poco desde entonces.

Sólo para confirmar, supongo que antes de abrir el ClientDataSet, éste y el respectivo SQLQuery tienen en su propiedad Params cuatro parámetros que se corresponden. ¿Cierto?

Sin embargo, te aconsejo que antes de ello consideres el uso de conjuntos de datos anidados (nested data sets). En la Web vas a encontrar muchos ejemplos y explicaciones de cómo funcionan. Es algo que no existe en BDE, pero que sí puedes emplear mediante TDataSetProvider y TClientDataSet. Además, este mecanismo va más acorde con un buen manejo de transacciones, ya que registros maestros y detalles se envían todos juntos en el mismo "paquete" a la hora de guardar.

Si ves que por ese camino le puedes dar la vuelta al problema, estupendo (el tratamiento de los parámetros es distinto). De lo contrario podríamos intentar con la primera opción.

Cita:
Empezado por QuarkBcn Ver Mensaje
[...] quería comentarte, que me ha gustado mucho tú blog "Rescatando Delphi"
Muchas gracias. No publico muy seguido, pero afortunadamente hay tela de dónde cortar en el tintero.

Saludos.

Al.
Responder Con Cita