Hola a todos,
pues mi duda es la siguiente, con Delphi 7 podía hacer lo siguiente al filtrar una consulta mediante parametros:
Código Delphi
[-] With tArticulos Do
Begin
If Active Then
Active := FALSE;
With DataSet Do
Begin
CommandText := 'select CODIGO, DESCRIPCION FROM ARTICULOS WHERE ( CODIGO = :AUXCODART ) ORDER BY CODIGO';
Params.ParamByName( 'AUXCODART' ).AsString := sArticulo;
End;
Active := TRUE;
End;
Cada vez que la aplicaba me devolvia el registro del artículo solicitado, pero ahora con Delphi 2010 me encuentro que siempre se me quedaba en el primer artículo solicitado, los siguientes no los encontraba, haciendo muchas pruebas me encuentro de que en la propiedad "Params" del tSimpleDataSet ( No en la de tSimpleDataSet.DataSet.Params si no que en tSimpleDataSet.Params ) en tiempo de ejecución se han creado estos parametros, por lo que la solución es eliminarlo cada vez que se aplica la consulta para que funcione, quedando así:
Código Delphi
[-]With tArticulos Do
Begin
If Active Then
Active := FALSE;
Params.Clear; /* ESTO ES LO QUE AÑADO */
With DataSet Do
Begin
CommandText := 'select CODIGO, DESCRIPCION FROM ARTICULOS WHERE ( CODIGO = :AUXCODART ) ORDER BY CODIGO';
Params.ParamByName( 'AUXCODART' ).AsString := sArticulo;
End;
Active := TRUE;
End;
Ya se que he encontrado el problema, en Delphi 7 no me lo hacía, ¿ pero alguien me puede decir si esto tiene solución ? ¿ A que es debido este cambio ?