Título: Problemas de Busqueda En JAVA
Publicado por: Sistematic en 19 Abril 2013, 20:05 pm
Hola a todos soy nuevo no me juzguen! :rolleyes: bueno vamos a lo principal e importante ::) estoy programando en JAVA y la verdad es que voy a pasos de tortuga por cada problemita nuevo estoy que se me salen las ganas de programar >_< ja y bueno ojala que puedan ayudar :) Les cuento que en JAVA estoy haciendo un formulario de una "Biblioteca" en donde supuestamente el que usa el programa o "el cliente" tendra que buscar el libro que desee a traves del Jtext que desee y para esto tiene un JText para buscar por ISBN, Titulo y Categoria. Cuando el cliente busca x alguno de esos JText que elija, los datos que encuentre se los tiene que mostrar en un JTable todos los resultados iguales o aproximados que encuentre :) Cuando inicio el formulario logra mostrar todos los registros en el JTable pero lo que yo quiero es hacer es buscar un registro especifico :) Lo de la base de datos lo tengo todo en PHPMyAdmin Bueno mi problema es como poder configurar mi boton BUSCAR para que realice esa tarea :/ ¿Quien tiene la amabilidad y paciencia para ayudarme? ;D
Título: Re: Problemas de Busqueda En JAVA
Publicado por: visualfree en 20 Abril 2013, 07:08 am
Estimado: Junto con saludarte, te he creado un ejemplo que espero te sea de utilidad. Adjunto Imagen Resultado: http://imageshack.us/photo/my-images/339/capturadepantalla201304b.png/ (http://imageshack.us/photo/my-images/339/capturadepantalla201304b.png/) /* CREACION BDD Y TABLA LIBRO * create database Ejemplo * create table Libro( * idLibro int(10) primary key not null auto_increment, * isbn varchar(250), * titulo varchar(250), * categoria varchar(250)); * * INSERTAR LIBROS EN LA BDD * * insert into Libro(isbn,titulo,categoria) values('2323-2','libro1','categoria1'); * insert into Libro(isbn,titulo,categoria) values('2121-2','libro2','categoria2'); * insert into Libro(isbn,titulo,categoria) values('2222-2','libro3','categoria3'); * */
import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.awt.*; import java.awt.event.*; import java.sql.SQLException;
import MysqlConec.conexión; class Ejemplo{ public static void main(String[] args) throws SQLException { Ventana ventana=new Ventana(); ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ventana.setVisible(true); } } class Ventana extends JFrame{ public Ventana() throws SQLException{ this.setTitle("Ejemplo Elhacker"); this.setSize(400,400); NuevoPanel panel=new NuevoPanel(); this.add(panel); } } class NuevoPanel extends JPanel{ private JLabel lblBuscar=new JLabel("Buscar Libro"); private JTextField txtBuscar=new JTextField(); private JComboBox comboBuscar=new JComboBox();{ comboBuscar.addItem("ISBN"); comboBuscar.addItem("TITULO"); comboBuscar.addItem("CATEGORIA"); } JButton btnBuscar=new JButton("Buscar"); DefaultTableModel modelo=new DefaultTableModel();{ modelo.addColumn("ID"); modelo.addColumn("ISBN"); modelo.addColumn("TITULO"); modelo.addColumn("CATEGORIA"); } JTable tabla=new JTable(modelo); JScrollPane scroll=new JScrollPane(tabla); JPanel pnNorte=new JPanel(); conexión con=new conexión(); public NuevoPanel() throws SQLException{ pnNorte.setLayout(new GridLayout(1,4)); pnNorte.add(lblBuscar); pnNorte.add(txtBuscar); pnNorte.add(comboBuscar); pnNorte.add(btnBuscar); this.setLayout(new BorderLayout()); this.add(pnNorte,BorderLayout.NORTH); this.add(scroll,BorderLayout.CENTER); OyenteBuscar oBuscar=new OyenteBuscar(); btnBuscar.addActionListener(oBuscar); Mostrar("select * from Libro"); } class OyenteBuscar implements ActionListener{ public void actionPerformed(ActionEvent e){ String busqueda=txtBuscar.getText(); String opcion=comboBuscar.getSelectedItem().toString(); try { if(opcion.equals("TITULO")){ Buscar("Select * from Libro where titulo like('%"+busqueda+"%')"); }else if(opcion.equals("ISBN")){ Buscar("Select * from Libro where isbn like('%"+busqueda+"%')"); }else if(opcion.equals("CATEGORIA")){ Buscar("Select * from Libro where categoria like('%"+busqueda+"%')"); } } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } public void Mostrar(String sql) throws SQLException{ con.setExecuteQuery(sql); Object[] fila=new Object[4]; modelo.setRowCount(0); while(con.getRs().next()){ fila[0]=con.getRs().getInt("idLibro"); fila[1]=con.getRs().getString("isbn"); fila[2]=con.getRs().getString("titulo"); fila[3]=con.getRs().getString("categoria"); modelo.addRow(fila); } } public void Buscar(String sql) throws SQLException{ con.setExecuteQuery(sql); Object[] fila=new Object[4]; modelo.setRowCount(0); while(con.getRs().next()){ fila[0]=con.getRs().getInt("idLibro"); fila[1]=con.getRs().getString("isbn"); fila[2]=con.getRs().getString("titulo"); fila[3]=con.getRs().getString("categoria"); modelo.addRow(fila); } } }
Clase Conexion package MysqlConec; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class conexión { private String bdd="Ejemplo"; private String usuario="root"; private String clave="123456"; private Connection con; private Statement stmt; private ResultSet rs; public conexión() { try{ DriverManager.registerDriver(new org.gjt.mm.mysql.Driver()); con=DriverManager.getConnection("jdbc:mysql://localhost/"+bdd,usuario,clave); }catch(Exception e) { e.printStackTrace(); } } public void setExecuteUpdate(String sql){ try{ stmt=con.createStatement(); stmt.executeUpdate(sql); stmt.close(); }catch(SQLException e){ e.printStackTrace(); } } public void setExecuteQuery(String sql){ try{ stmt=con.createStatement(); rs=stmt.executeQuery(sql); }catch(SQLException ex) { ex.printStackTrace(); } } public ResultSet getRs() throws SQLException { return rs; } }
Título: Re: Problemas de Busqueda En JAVA
Publicado por: Sistematic en 21 Abril 2013, 14:13 pm
Im-pre-sio-nan-te la verdad MUCHISIMAS GRACIAS Visualfree ;-) Le tuve que hacer unos retoques y adecuarle a lo mio que la verdad no nada dificil la verdad es que estoy Feliz gracias a gente como vos :rolleyes: Totalmente agradecido Millones de Bendiciones :rolleyes:
|