Ajuda para guardar informações no banco de dados

4 respostas
java
R

Galera! Preciso de uma ajuda e é muito urgente, não sou programador, mais estou estudando, e meu projeto foi escolhido para ser utilizando no trabalho, sendo assim, sou responsável por desenvolve-lo.

Efim, meu programa tem algumas telas e uma dela é a tela de login, ou seja para iniciar o programa tem que ter cadastro, até ai tudo bem, ja tenho tudo pronto.

Porem oque preciso agora é que quando o cadastro for feito em outra tela, o login, no caso(o usuário que está fazendo o cadastro cujo login foi feito na tela anterior, tbm vá para o banco de dados.)
como fazer?

<strong>código abaixo _Classe Login</strong>_

import java.sql.*;

import Conexão.ConectaBd;

import bean.Usuario;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

import util.ControlesUtil;

public class frmLogin extends javax.swing.JFrame {

Connection con = null;
PreparedStatement pst = null;
ResultSet rs = null;

public frmLogin() throws ClassNotFoundException {
    initComponents();
    this.setLocationRelativeTo(null); //para a janela abrir no centro da tela
    con = ConectaBd.conectaBd();

}

//METODO PARA LOGAR DO BANCO DE DADOS
public void logar() {
    String sql = "Select * from login where usuario = ? and senha = ?";
    try {

        Usuario usuario = new Usuario();

        pst = con.prepareStatement(sql);
        pst.setString(1, txtUsuario.getText());
        pst.setString(2, txtSenha.getText());

        rs = pst.executeQuery();

        if (rs.next()) {
            usuario.setId(rs.getInt("id"));
            usuario.setLogin(rs.getString("usuario"));
            usuario.setSenha(rs.getString("senha"));
            usuario.setNome(usuario.getLogin()); // Por não ter nome

            frmPrincipal frm = new frmPrincipal(usuario);
            frm.setVisible(true);
            dispose(); //fecha a janela anterior (Login);
            
        } else {
            JOptionPane.showMessageDialog(null, "Usuário e senha Invalido");
        }
    } catch (SQLException error) {
        JOptionPane.showMessageDialog(null, error);
    }
}

classe de cadastro

package Visual;

import Conexão.ConectaBd;

import bean.Usuario;

import static java.lang.Integer.parseInt;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import javax.swing.JOptionPane;

public class frmCadOrdem extends javax.swing.JInternalFrame {

Connection conecta;
PreparedStatement pst;

public frmCadOrdem() throws ClassNotFoundException {
    initComponents();
    this.setLocation(380, 100); // para redimencionar onde a tela deverá abrir.
    conecta = ConectaBd.conectaBd(); // para o formulario se conectar com o banco de dados.
}

//Parametro para limpar os campos e deixa-los vazios para inserção de dados 
public void limparCampos() {
    txtChamado.setText("");
    txtCidade.setText("");
    txtData.setText("");
    txtEletricista.setText("");
    txtEmpreiteira.setText("");
    txtEmpresa.setText("");
    txtFrota.setText("");
    txtId.setText("");
    txtPlaca.setText("");
    txtRegional.setText("");
    txtTecnico.setText("");

}

//paremetro para cadastro de ordem no banco de dados
public void cadastroOrdem() {
    

    
    if (JbutonInstalação.isSelected()) {

        String sql = "Insert into ordem(instalacao,empresa, chamado, frota, placa, idviatura, "
                + "regional, cidade, empreiteira, nomeeletricista, nometecnico, dataordem)values('Instalaçao',?,?,?,?,?,?,?,?,?,?,?)";
        try {
                 
            pst = conecta.prepareStatement(sql);
            pst.setString(1, txtEmpresa.getText());
            pst.setInt(2, parseInt(txtChamado.getText()));
            pst.setString(3, txtFrota.getText());
            pst.setString(4, txtPlaca.getText());
            pst.setString(5, txtId.getText());
            pst.setString(6, txtRegional.getText());
            pst.setString(7, txtCidade.getText());
            pst.setString(8, txtEmpreiteira.getText());
            pst.setString(9, txtEletricista.getText());
            pst.setString(10, txtTecnico.getText());
            pst.setString(11, txtData.getText());
            pst.execute();
            JOptionPane.showMessageDialog(null, "Ordem Cadastrada!");
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }

    if (jbutonManutenção.isSelected()) {
        
        String sql = "Insert into ordem(manutencao,empresa, chamado, frota, placa, idviatura, "
                + "regional, cidade, empreiteira, nomeeletricista, nometecnico, dataordem)values('Manutenção',?,?,?,?,?,?,?,?,?,?,?)";
        try {

            pst = conecta.prepareStatement(sql);
            pst.setString(1, txtEmpresa.getText());
            pst.setInt(2, parseInt(txtChamado.getText()));
            pst.setString(3, txtFrota.getText());
            pst.setString(4, txtPlaca.getText());
            pst.setString(5, txtId.getText());
            pst.setString(6, txtRegional.getText());
            pst.setString(7, txtCidade.getText());
            pst.setString(8, txtEmpreiteira.getText());
            pst.setString(9, txtEletricista.getText());
            pst.setString(10, txtTecnico.getText());
            pst.setString(11, txtData.getText());

            pst.execute();
            JOptionPane.showMessageDialog(null, "Ordem Cadastrada!");
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
    }
}

att…

4 Respostas

I

Seria simplesmente inserir as informaçoes que ele efetuou nos campos de login ?

R

exato, apenas pegar o login do usuário feito na tela de login, e inserir no bd, qual foi o usuario que cadastrou aquela informação.

P

Você precisa criar um método para gravar o nome do usuário(variável global) depois da confirmação do login, assim você vai poder utiliza-la sempre que for necessário, e no seu cadastro de Ordem precisa adicionar o campo para salvar o nome do usuário (que vai receber o valor da variável global criada na tela de login)

veja este tópico:
http://respostas.guj.com.br/21529-usuario-logado-java

R

Desculpe, nao consegui fazer, sou um usuário iniciante. >s

Criado 13 de abril de 2016
Ultima resposta 16 de jun. de 2016
Respostas 4
Participantes 3