Tela / bd

8 respostas
roberta027

Ola tenho uma tela que gostaria de ligar com o banco mas nao sei com sera que tem alguem que poderia me ajudar

8 Respostas

roberta027

Ja foram criadas as telas eu usei JDBC agora preciso liga-las ao banco e nao sei como

bsl.lacerda

Qual e o BD?

T

Hum…

vc tera que gerar uma string com insert into pegando os valores do seus TextFields e outros objetos da sua tela…depois vc mandar executar essa String com seu comando insert.

qualquer coisa me add no msn que te passo uma aplicação de exemplo…

[email removido]

abraços…

roberta027
Aqui esta aminha classe que liga com o banco
package br.com.metalcoop.teste;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TesteConnection {

	public static void main(String[] args) {
		try {
			Class.forName("com.mysql.jdbc.Driver");

			Connection conn = DriverManager
					.getConnection("jdbc:mysql://localhost/metalcoop?user=root&password=admin");

			Statement stm = conn.createStatement();
			String select = "select id, nome from teste";
			ResultSet rs = stm.executeQuery(select);

			while (rs.next()) {
				System.out.println("Código:" + rs.getInt("id")+ "	Nome:" + rs.getString("nome"));
			}

			stm.close();

			 String insert = "insert into teste (id, nome) values (?, ?)";
			 PreparedStatement ps = conn.prepareStatement(insert);
			 ps.setInt(1, 3);
			 ps.setString(2, "Gabriele");
			 ps.executeUpdate(insert);

			ps.close();

			rs.close();

			conn.close();

		} catch (ClassNotFoundException e) {

			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

}
eu tenho outra classe que é da interfece grafica quero ligar as duas.
roberta027

Valeu
Me tira um duvida eu tenho tres classe
1ª classe a programação logica
2ª classe a tela
3ª classe a de conexao do banco

a classe 2 com a 1 ja esta ligada agora tenho que altera desta maneira para ligar a 2 e a 3

e isto

midianet

vixi começe criando suas classes de persistencia, escolha um mecanismo de persistencia.

aconselho começar com jdbc mesmo, te várias apostilas e exemplos.

vai postando ai que agente vai te ajudando.

midianet

bem so pra aprender
e so criar uma instancia dessa classe conexao na sua tela
e entao abrir um statement e executar tipo assim

mas tera que mudar um pouco porque ela nao devera ter o metodo main e sim a sua tela

muda assim o

[color=green] package br.com.metalcoop.teste;

import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.PreparedStatement;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import java.sql.Statement;

public class TesteConnection {
private Connection conexao;

public TesteConnection (){  
       try {  
           Class.forName("com.mysql.jdbc.Driver");  
 
           Connection conexao = DriverManager  
                   .getConnection("jdbc:mysql://localhost/metalcoop?user=root&password=admin");  
 
       } catch (ClassNotFoundException e) {  
 
           e.printStackTrace();  
       } catch (SQLException e) {  
           e.printStackTrace();  
       }  
   }  

   public Connection getConexao(){
       return conexao;
  }

}

[/color]

ai entao na sua classe de tela vc faz isso

cria uma instancia privada de TesteConnection
e no construtor inicializa ela
entao no botao de gravar ou sei la onde vc coloca isso

StringBuilder sql = new StringBuilder();
    PreparedStatement pstmt = null;

    try {            
        sql.append("INSERT INTO TABELA(.....")VALUES(?,?,?)");

        pstmt = testeConnection.getConexao.prepareStatement(sql.toString());
        pstmt.setInt(1, valor1);
        pstmt.setInt(2, valor2);
        pstmt.setInt(3, valor3);
        
        pstmt.execute();
    } catch(SQLException e) {

    } finally {
        try{
            if(pstmt!=null) pstmt.close();
        } catch(SQLException e){
            
        }
    }

espero ter ajudado.

midianet

Bem na verdade o interessante seria

criar uma classe de visão, uma de negocio e uma de persistencia

sua visao tem uma instancia do seu negocio ela nao deve conhecer a persistencia
e sua classe de negocio conhece a sua classe de persistencia.
e sua persistencia nao deve conhecer a sua visao

ou seja padrao mvc.

Criado 9 de janeiro de 2008
Ultima resposta 9 de jan. de 2008
Respostas 8
Participantes 4