Dúvida de um Aluno de java

4 respostas
Mar96c

[color=black]Olá sou novo no forum e estou com um probleminha que eu acho que pra vcs deve ser mole mole. Estou com um projeto em equipe onde eu possuo um formulário de login, e quero buscar no banco de dados uma senha e um privilégio de usuário que armazenei, já criei uma conexão com o banco de dados, porém só consegui passar as informações do banco para o System.out.Println ou uma String. Isso numa mesma classe que criei para conexão. A minha pergunta é: como fazer com que os dados presentes no banco de dados sejam a presentados no formulário de login que eu criei, mais especificamente num campo de texto? Será que eu posso fazer isso em um evento no próprio campo de texto?

A minha classe de conexão está assim: [/color]

package cadastrolivros;
import java.io.*;
import java.sql.*;
import javax.swing.*;
/**
 *
 * @author ADM
 */
public class ConexaoLogin {


public static void main(String args[]) throws SQLException{
Connection conn = null;
try {
// Carregando o JDBC Driver
String driverName = "com.mysql.jdbc.Driver"; // MySQL MM JDBC driver
Class.forName(driverName);

// Criando a conexão com o Banco de Dados
String serverName = "localhost";
String mydatabase = "datacontrole14_09_2009";
String url = "jdbc:mysql://" + serverName + "/" + mydatabase; // a JDBC url
String username = "root";
String password = "";
conn = DriverManager.getConnection(url, username, password);
//se ok ele manda essa msg
JOptionPane.showMessageDialog(null,"Conectado!");

} catch (ClassNotFoundException e){
//Driver não encontrado
JOptionPane.showMessageDialog(null,"O driver expecificado não foi encontrado.");

} catch (SQLException e) {
//Não está conseguindo se conectar ao banco
JOptionPane.showMessageDialog(null,"Não foi possível conectar ao Banco de Dados");
}

[b]Agora eu Faço a consulta ao banco de dados, isso na mesma classe!

String sql = "SELECT  senha,privilegio FROM login WHERE id=1";
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs= stmt.executeQuery();


while(rs.next()){
 
String password = rs.getString("senha");
Aqui eu atribuí a coluna do banco a uma string password
String privilege = rs.getString("privilegio")
aqui fiz o mesmo com o privilegio

E lá no formulário Login, eu adicionei um evento ao texfield senha e coloquei:

private void senhaVer(java.awt.event.ActionEvent evt) {
        ConexaoLogin c1 =new ConexaoLogin();
    }

O que eu devo fazer para jogar as strings password e privilege da classe de conexão para o formulário dentro dos textfields que eu quero?
--
Desde já agradeço..
marcelo araújo

4 Respostas

willricardo

Cara simples assim.

seuTextFieldSenha.setText(password);

Para fazer isto nem precisa de evento!!

Falow!!!

willricardo

Cara vamos por parte!!

Olhando para seu codigo esta dando medo…rsrs

você esta delegando muita coisa para seu codigo main!!

no codigo main você deve somente inicializar sua aplicação.

Segue umas dicas.

Crie um bean chamado Login, que sera responsavel pelo login do user no sistema.(Bean = classe com atributos privados e com metodos de acesso. get e set).

Crie uma classe chamada LoginDAO, que sera responsavel por toda parte de acesso a dados.

Crie uma classe chamada ConnectionFactory, com um metodo getConnection static que retorna uma Connection, pois essa classe sera responsavel por fabricar conexões de acesso ao banco de dados.

Pronto agora ira começar a ficar bunituu!!

Mar96c

Aehh, cara valeu pela dica vou por em prática!
Acho que o q vc se referiu a abstração não foi?

willricardo

Em partes sim!!

Mas tbm queria que você procurasse um pouco sobre design patterns(DAO, Factory e etc…).

Coesão e acoplamento.

Dá uma pesquisada sobre o que disse acima que ira ajudar muito para ti!!

Criado 26 de setembro de 2009
Ultima resposta 30 de set. de 2009
Respostas 4
Participantes 2