ayuda con busqueda en MySQL desde java

Iniciado por yo_lestat, 21 Agosto 2012, 22:20 PM

0 Miembros y 1 Visitante están viendo este tema.

yo_lestat

 hola me podrian ayudar con la sentencia de busqueda
1 busca la palabra CLAVE solo en una categoria "fantasmas , vampiros , zombies ezt " indempendientemente del campoosea que busca en todos los campos
lo que necesito es una busqueda que busque en
toda la tablaba osea "id, titulo, cuerpo,autor,email"pero que solo muestre los resultados que en cuallo caso el campo categoria coincida con la el valor de una variable

2 busca una palabra clave en un campo especifico y solo en una categoria

nombres de las variables
palabra clave a buscar = clave
campo donde buscar = campo_a_buscar
categoria = categoria_a_buscar

1    id            int(11)                                          No    Ninguna    AUTO_INCREMENT
2    titulo    varchar(100)    latin1_swedish_ci       No    Ninguna   
3    categoria    varchar(30)    latin1_swedish_ci       No    Ninguna
4    cuerpo    longtext            latin1_swedish_ci       No    Ninguna
5    autor    varchar(30)    latin1_swedish_ci       No    Ninguna
6    email    varchar(30)    latin1_swedish_ci       No    Ninguna

reylagarto19

pff.... no ha quien lo entienda, explicate mejor, nen!

Proteus1989

El problema es que eso no es java. Es sql puro y duro

yo_lestat

haber en mi aplicacion tengo en la pesataña de buscar :
1 caja de texto : donde de pondra la palabra clave a buscar
1 un combobox : donde seguardan todos los campos menos el campo categoria
1 otro combobox : donde se guardan todas las categorias que se han introducido en el campo categorias

entonces al realizar la busqeuda se tiene que poder buscar en todos los campos menos en categorias la palabra clave , pero solo deben modtrar los que el campo categorias coincida con lo que este en el cmbo de categorias

eso seria la 1 busqueda la segunda busqueda seria buscar la palabra clave dentro del campo que este seleccionado en el cmbobox de campos ejempli id,titulo,cuerpo,autor,email y claro tambien tiene que coincidir con el contenido del combo de categorias  en el campo de categoria

ahora mejor?

yo_lestat

#4
he provado con esto pero me da error:
       
public void busqueda_filtrada_2(String clave,String categoria) throws SQLException{

       bd.cargarconfiguracion();
       bd.conectarBaseDeDatos();
       String n_tabla = bd.n_tabla;
       sentencia = "SELECT * FROM "+n_tabla+" WHERE categoria = "+categoria+" and (id LIKE '%"+clave+
                   "%' OR titulo LIKE '%"+clave+
                   "%' OR cuerpo LIKE '%"+clave+
                   "%' OR autor LIKE '%"+clave+
                   "%' OR email LIKE '%"+clave+"%')";
       realizar_busqueda(sentencia);
}

me da este error :
com.mysql.jdbc.exceptions.jdbc4.MySQL SyntaxErrorException: unknown columm 'sobrenatural' in 'where clause'

yo_lestat

ya esta solucionado era que en donde ponia "+categoria+" tenia que poner '"+categoria+"' y listo y ya me funcionan el resto de las busquedas