Ayuda busqueda de radiogroup con codigo sql
Publicado por sofia (33 intervenciones) el 07/10/2016 23:48:09
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
select * from productos where nombrepr LIKE :razon
luego en el boton buscar tengo escrito el siguiente codigo
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
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
esta busqueda la realizo de la siguiente forma en un query tengo escrita la siguiente consulta
select * from productos where nombrepr LIKE :razon
luego en el boton buscar tengo escrito el siguiente codigo
1
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
1
2
3
4
5
6
7
8
9
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')
end;
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
1
2
3
0: begin
qProductos.SQL.ADD('where estado=1');
qProductos.SQL.ADD('where nombreproducto LIKE='+quotedstr(eProductos.text));
Valora esta pregunta


0