Banco

4 respostas
digolipertte
Oi pessoal.. Eu tenho um programa e ja ta pronto a parte de encerir, mas eu não sei como fazer o select.. eu tenho um exemplo.. Meu programa ta assim..
package Banco;
import java.sql.*;

public class Conect {
 public Connection Conect(){
	 Connection conexao = null;
	 
	 try {
		Class.forName("com.mysql.jdbc.Driver");
		
	} catch (ClassNotFoundException c) {
		// TODO Auto-generated catch block
		c.printStackTrace();
	    System.out.println("ERRO" + c.getMessage());
	}
	
	 try {
		String url = "jdbc:mysql://localhost/loja";
		 conexao = DriverManager.getConnection(url , "root", "root");
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
		System.out.println("ERRO URL" + e.getMessage());
	}
 
	return conexao;
	
 
 }

  public void inclui( double a , String b , String c, String d, String e ,String f, String g ,String h , String i ,String j , String l ){
	  try {
		  Connection conexao = Conect();
		PreparedStatement st = conexao.prepareStatement("Insert into cliente values (?,?,?,?,?,?,?,?,?,?,?);");
		  st.setDouble(1, a);
		  st.setString(2, b);
		  st.setString(3, c);
		  st.setString(4, d);
		  st.setString(5, e);
		  st.setString(6, f);
		  st.setString(7, g);
		  st.setString(8, h);
		  st.setString(9, i);
		  st.setString(10, j);
		  st.setString(11, l);
		  
		  st.executeUpdate();
		   // System.out.println("Teste"); Serve para testear se ta funcionando.
		     st.close();
		     conexao.close();
	} catch (SQLException e1) {
		// TODO Auto-generated catch block
		e1.printStackTrace();
	}
  
   
   
 
  }
  

public void insert(double a , String b, String c, String d , String i , String f , String g){  
    try {
		Connection conexao = Conect();  
		PreparedStatement st = conexao.prepareStatement("Insert into produto values(?,?,?,?,?,?,?);");  
		st.setDouble(1, a);  
		st.setString(2, b);  
		st.setString(3, c);  
		st.setString(4, d);  
		st.setString(5, i);  
		st.setString(6, f);  
		st.setString(7, g);
		
		st.executeUpdate();
		  
		     st.close();
		     conexao.close();
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}  
      
      
      
      
}  
}
Agora preciso saber como faço pra colocar essa parte junto...
import java.sql.*;  
 import java.util.*;  
   
 class Y {  
   
     public ArrayList<String[]> seleciona() {  
         ArrayList list = new ArrayList();  
         try {  
             Class.forName("driverDoBanco");  
             Connection connection = DriverManager.getConnection("DBURL");  
             Statement stm = connection.createStatement();    
             ResultSet result = stm.executeQuery("SELECT desc_prod, cod_prod, saldo FROM PRODUTO;");    
   
             while (result.next())   
             {  
                 list.add(new String[]{result.getString(1),result.getString(2),result.getString(3)});  
             }    
             stm.close();      
             connection.close();  
             return list;  
         }  
         catch(Exception e)  
         {  
             // aqui você pode tratar melhor no caso de Exception  
             return null;  
         }  
     }  
 }

4 Respostas

M

e ai digolipertte, blz?
não entendi exatamente qual é a sua dúvida
por um acaso era isso que você queria? eu simplesmente adaptei o seu método de select
à sua classe ja existente, caso não seja exatamente isso de um toque.

Abraços

public ArrayList<String[]> seleciona() {    
         ArrayList list = new ArrayList();    
         try {    
             Connection conexao = Conect();
             Statement stm = conexao.createStatement();      
             ResultSet result = stm.executeQuery("SELECT desc_prod, cod_prod, saldo FROM PRODUTO;");      
    
             while (result.next())     
             {    
                 list.add(new String[]{result.getString(1),result.getString(2),result.getString(3)});    
             }      
             stm.close();        
             conexao.close();    
             return list;    
         }    
         catch(Exception e)    
         {    
             // aqui você pode tratar melhor no caso de Exception    
             return null;    
         }    
     }
digolipertte

Sim era isso mesmo…
é que eu ate estava pensando em fazer uma nova classe pra isso…
Obrigado.

M

Ah blz então, agora vc poderia fazer algo um pouco diferente,
não sei se vc tem muitas entidades de persistência no banco, mas vc poderia criar uma classe pra cada uma delas
seu código ficaria mais organizado, vc poderia criar uma classe somente com os métodos de produtos e outra com os de clientes,
essa sua classe conexão vc poderia deixar como abstrata e fazer com que essas classes de persistência extendam ela.
Ficaria mais interessante e vc aproveitaria mais os recursos da OO, enfim é apenas uma dica, mas do jeito que esta vai funcionar perfeitamente.

Abraços

digolipertte

Vou tentar…
Obrigado.

Criado 16 de maio de 2008
Ultima resposta 18 de mai. de 2008
Respostas 4
Participantes 2