Cita:
Empezado por Casimiro Notevi
Para nada, amigo, si dices eso es que no has visto el tutorial 
|
Exiten dos tipos de acceso a Parámetros, en diseño y con código. Para usarlos en diseño se recurre a la propiedad Params del Query. Se abre su editor y
aparece su ventana. Debemos asignar Type: String; Nombre del Parametro: INI y su valor Unknown. Luego en código podemos hacer referencia a él a
través de QueryX.Params[0] asignandole el valor actual. Previo a esto debemos cerrar el query(Close), limpiarlo Query.Clear, asignar el parámetro Params[0].Value:=cXX, asignar al SQL statement "SELECT campos FROM table WHERE campo = :INI ".
Al abrir de nuevo el query se le asignará es valor del select parametrizado. No debemos olvidar si el valor del Query pasa a un ClientDataset de cerrar y abrir este también para que se renueven los datos que este último envía al DataSource que a su ve los pasa al DBGrid.
Si es por código debemos usar un valor más exacto al parámetro, para ello nos apoyamos en un campo explícito. Para esto usamos la localización del parámetro. Query1.ParamByName('ParamName').AsMoldeador:='ValorActuall';
Pero, y a pesar de la teoría, no funciona. Tampoco da error. En mi caso el Query carga todos los registros con la cual, despues de un momento, el ClientDataSet da el error 'Infufcient Memory for this Operation".
Fíjate en esto. Coloco un TTabControl con todas las letras del alfabeto. Lo uso y se puede acceder 'A TODA LA TABLA' por la letra que se elija.
Tiene que haber algún pequeño (o gran) error que impide usar el parámetro. Usaré el debugger hasta dónde yo sé y luego como plan b. Usaré dos dbGrid
separando uno para el Query y otro para el ClientDataSet. En fin, que ya caeré del burro. Tranquilo, Casimiro. Y deja de poner en duda lo que te digo, por favor. Trabajo en equipo. Excusas si causo un conflicto.
Por cierto, las subpropiedades de la Prop. Params del Query me dejan un poco al pairo. ¿Se pueden explicar aqui?
Gracias por todo.