Problema com leitura de banco em mysql!

5 respostas
C

galera eh o seguinte.. to começando a mexe com JDBC e MySQL.. so que eu coloquei esse exemplo do livro da deitel (exatamente pagina 916) so q nao roda.. da um erro..

o codigo é esse:
import ....

public class leitura_banco2 extends JFrame 
{
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
   static final String DATABASE_URL = "jdbc:mysql://localhost/banco";
   static final String USERNAME= "root";
   static final String PASSWORD= "";
   
   static final String DEFAULT_QUERY = "SELECT * FROM login";
   
   private ResultSetTableModel tableModel;
   private JTextArea queryArea;
   
   public  DisplayQueryResults() 
   {   
      super( "Mostrando resultado das Consultas" );
         
      try 
      {
         tableModel = new ResultSetTableModel( JDBC_DRIVER, DATABASE_URL,
            USERNAME, PASSWORD, DEFAULT_QUERY );                         

         queryArea = new JTextArea( DEFAULT_QUERY, 2, 100 );
         queryArea.setWrapStyleWord( true );
         queryArea.setLineWrap( true );
         
         JScrollPane scrollPane = new JScrollPane( queryArea,
            ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, 
            ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER );
         
         JButton submitButton = new JButton( "Submeter Consulta" );

         Box box = Box.createHorizontalBox();
         box.add( scrollPane );
         box.add( submitButton );

         JTable resultTable = new JTable( tableModel );
         
         add( box, BorderLayout.NORTH );
         add( new JScrollPane( resultTable ), BorderLayout.CENTER );

         submitButton.addActionListener( 
         
            new ActionListener() 
            {
               public void actionPerformed( ActionEvent event )
               {
                  try 
                  {
                     tableModel.setQuery( queryArea.getText() );
                  }
                  catch ( SQLException sqlException ) 
                  {
                     JOptionPane.showMessageDialog( null, 
                        sqlException.getMessage(), "Database error", 
                        JOptionPane.ERROR_MESSAGE );
                     
                     try 
                     {
                        tableModel.setQuery( DEFAULT_QUERY );
                        queryArea.setText( DEFAULT_QUERY );
                     }
                     catch ( SQLException sqlException2 ) 
                     {
                        JOptionPane.showMessageDialog( null, 
                           sqlException2.getMessage(), "Database error", 
                           JOptionPane.ERROR_MESSAGE );
         
                        tableModel.disconnectFromDatabase();   
         
                        System.exit( 1 );
                     }
                  } 
               } 
            }  
         ); 

         setSize( 500, 250 ); 
         setVisible( true ); 
      } 
      catch ( ClassNotFoundException classNotFound ) 
      {
         JOptionPane.showMessageDialog( null, 
            "MySQL driver not found", "Driver not found",
            JOptionPane.ERROR_MESSAGE );
         
         System.exit( 1 ); 
      } 
      catch ( SQLException sqlException ) 
      {
         JOptionPane.showMessageDialog( null, sqlException.getMessage(), 
            "Database error", JOptionPane.ERROR_MESSAGE );
         
         tableModel.disconnectFromDatabase();   
         
         System.exit( 1 );  
      } 
      
      setDefaultCloseOperation( DISPOSE_ON_CLOSE );
      
      addWindowListener(
      
         new WindowAdapter() 
         {
            public void windowClosed( WindowEvent event )              
            {                                                          
               tableModel.disconnectFromDatabase();                    
               System.exit( 0 );                                       
            } 
         }
      ); 
       
   } 
   
   public static void main( String args[] ) 
   {
      new DisplayQueryResults();     
   } 
}
o erro é esse:
invalid method declaration; return type required
e ele mostra o erro na linha:
public  DisplayQueryResults()

algm sabe o q eh isso?

e tmb algm sabe onde tm alguns codigos de JDBC cm MySQL pra mim da uma olhada e treinar e etc??

[]s

5 Respostas

I
public  DisplayQueryResults()

Falta declarar o tipo de retorno do método!

Ex: public void DisplayQueryResults().

No caso o void nao retornaria nada!

Roger75

Troque o nome da classe de leitura_banco2 para DisplayQueryResults. O compilador está pensando que DisplayQueryResults é algum outro método diferente, e por isso está pedindo o return type.

C

hmm era isso msm!

mais agora deu um problema na tabelModel.. olha o erro e a linha

erro:
cannot resolve symbol class ResultSetTableModel
as linhas que ta informando:
private ResultSetTableModel tableModel;

e 

tableModel = new ResultSetTableModel( JDBC_DRIVER, DATABASE_URL,
            USERNAME, PASSWORD, DEFAULT_QUERY );

falta so isso pra roda a budega ;)

vlw pela ajuda ate agora!

C

ngm sabe? =(

tentei de td e nao consegui resolve "/

C

se algm souber algm modo deu mudar esse metodo q eu to fazendo pra conserta isso, ajuda mtuuuu tmb :wink:

vlw pela ajuda ate agora

[]s

Criado 27 de abril de 2007
Ultima resposta 2 de mai. de 2007
Respostas 5
Participantes 3