Hola buenas tardes. Realize una aplicacion con mysql -5 y delphi 2010, con componentes query de zeos". Tengo un formulario que utilizo un listado en el cual busco los productos utilizando un tedit llamado "eProductos" y estos datos van visualizando se en el dbgrid.
esta busqueda la realizo de la siguiente forma en un query tengo escrita la siguiente consulta
Código SQL
[-] select * from productos where nombrepr LIKE :razon
luego en el boton buscar tengo escrito el siguiente codigo
Código Delphi
[-] qProductos.ParamByName('razon').AsString := '%' +eProductos.text+ '%'
hasta aqui me funciona perfecto la busqueda ahora lo que necesito es filtrar esa busqueda dependiendo si el producto esta activo o no (para ello uso el campo estado de mi tabla producto)
creo un radiogroup con 3 opciones:
0:Activos
1:Bajas
para este punto hice lo siguiente borre la consulta del query e intente hacer lo siguiente en el evento onclick del boton buscar use el siguiente codigo
Código Delphi
[-]
begin
qProductos.close;
qProductos.SQL.clear;
qProductos.SQL.Text:='Select * from producto';
qProductos.Open;
case radiog.ItemIndex of
0: qProductos.SQL.ADD('where estado=1')
1: qProductos.SQL.ADD('where estado=0')
al intentar esto me sale el siguiente error
project drugstore.exe raised exception class EDatabaseError with message 'qProductos:Cannot perform this operation on a closed dataset
tambien lo que habia intentado antes era escribir la siguiente consulta pero me daba error de escritura
Código Delphi
[-]0: begin
qProductos.SQL.ADD('where estado=1');
qProductos.SQL.ADD('where nombreproducto LIKE='+quotedstr(eProductos.text));
si podrian guiarme en este problema muchas gracias desde ya