Como associar um Login a um Banco de Dados

3 respostas
C

Preciso colher a senha e o login de uma tela, e passar as variáveis para cadastrá-las e procurar depois…como faço isso???

3 Respostas

E

Olá Clara

Para esta situação você deve usar um post no seu formulário, e no código deverá haver uma clausula insert para a tabela correspondente…alguma coisa do tipo "insert into tbusuario"etc… Daí você estará gravando no banco.
Para pesquisar basta somente utilizar uma instrução select solicitando os campos nos quais vc quer ver(usuário e ou senha). Bem a idéia inicial é esta caso não tenha ajudado muito me avise daí eu procuro aqui algum código meu que possa te ajudar mais valeu!

um abraço e sucessos sempre!!!

Elaildo

A

o problema, é que eu não sei começar…
não sei mexer com as tabelas, por favor, pode me explicar do começo?
olha o código:

import java.awt.*;
import java.awt.event.*;

import javax.swing.JButton;
import javax.swing.JPasswordField;
import javax.swing.JLabel;

public class teste2 extends Frame implements ActionListener{

	private Label lbllogin, lblsenha;
	private JPasswordField passenha;
	private TextField txtlogin;
	private Button btnOk;
	public String login, senha;
	
	public teste2() {
		
		super("Teste de Login");
		setSize(230,130);
		//setBackground(new Color(0, 10, 150)); 
		JPasswordField passenha = new JPasswordField(10);
		passenha.setForeground(new Color(0,100,150)); 
		lbllogin = new Label("Login:", Label.CENTER);
		lbllogin.setForeground(new Color(0,150,150)); 
		lblsenha = new Label("Senha:", Label.CENTER);
		lblsenha.setForeground(new Color(0,150,150)); 
		txtlogin = new TextField(20);
		txtlogin.setForeground(new Color(0,100,150)); 
		btnOk = new Button("Ok");
		btnOk.setForeground(new Color(0,150,150)); 
		setLayout (new FlowLayout());
		add(lbllogin);
		add(txtlogin);
		add(lblsenha);
		add(passenha);
		add(btnOk);
		btnOk.addActionListener(this);
	}
	
	public void actionPerformed(ActionEvent e) {
		if (e.getSource()==btnOk) {
			login = txtlogin.getText();
			senha = passenha.getPassword().toString();
		}
	}
	static public void main(String args[]) {
		teste2 f = new teste2();
		f.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent we) {System.exit(0);}
		});
		f.show();
	}
}

[size=“11”]
[color=“red”]

  • Editado: Lembre-se de usar BBCode em seus códigos para mantê-los identados e mais legíveis para outros usuários - Matheus[/color][/size] :joia:
R

Não use AWT com Swing, isso irá acabar com seu programa…

Ao invés de TextField, use JTextField, e assim em diante…

Primeiro, para cadastrar, um exemplo rápido:

import java.sql.*;

public Connection getConnection() {
       Connection con;
        try {
            String server = "localhost"
            String user = "root"
            String password = "root"
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://" + server + 
                    "/banco?user=" + user + 
                    "&password=" + password);
        } catch(Exception e) {
            e.printStackTrace();
        }
        return con;
}

O método acima te retorna um objeto Connection, que é a conexão em si com o banco de dados.

Agora, para cadastrar um usuário:

public void addUser(String name, String password) {
    Connection con = getConnection();
    try {
        String insert = "INSERT INTO usuarios(name, password) VALUES (?, ?)";
        PreparedStatement stmt = con.prepareStatement(insert);
        stmt.setString(1, name);
        stmt.setString(2, password);
        stmt.executeUpdate();
    } catch(Exception e) {
        e.printStackTrace();
    }
}

Agora o método para pegar o usuário e sua senha. Para isto, crie um objeto Usuario por exemplo com os atributos name e password:

public Usuario getUser(String name) {
    Connection con = getConnection();
    Usuario user = null;
    try {
        String select = "SELECT * FROM usuarios WHERE name = ?";
        PreparedStatement stmt = con.prepareStatement(select);
        stmt.setString(1, name);
        ResultSet rs = stmt.executeQuery();
        while(rs.next()) {
            user = new Usuario();
            user.setName(rs.getString("name");
            user.setPassword(rs.getString("password");
        }
    } catch(Exception e) {
        e.printStackTrace();
    }
    return user;
}

A partir dai acho que dá pra começar à fazer algo mais complicado.

Este código é bem simples, fiz muito rápido, dá pra melhorar muito, mas é um começo.

As teorias por trás do que foi usado acho que seria legal ler em algum tutorial, porque ai já é mais conteúdo.

Espero ter ajudado!

Criado 16 de agosto de 2005
Ultima resposta 16 de ago. de 2005
Respostas 3
Participantes 4