Oii amigos, estou tentando inserir um usuario a partir de uma função sql, ja testei no main e está funcionando,
mas agora fui tentar fazer com que ela funcionasse pelo botão da tela, mas não ta dando certo..
Obrigada!
package swing;
import java.awt.Component;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import model.Usuario;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import sql.AcessoUsuarioDAO;
public class Usuario_tela extends JFrame implements ActionListener {
private JPanel contentPane;
private JTextField textFieldNome_u;
private JTextField textFieldNick_u;
private JTextField textFieldEmail_u;
private JTextField textFieldPass_u;
private JTextField textFieldNome_uA;
private JTextField textFieldNick_uA;
private JTextField textFieldEmail_uA;
private JTextField textFieldPass_uA;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Usuario_tela frame = new Usuario_tela();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Usuario_tela() {
setTitle("Usuario");
setDefaultCloseOperation(Usuario_tela.HIDE_ON_CLOSE);
setBounds(100, 100, 550, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblNome_u = new JLabel("Nome:");
lblNome_u.setBounds(25, 20, 46, 14);
contentPane.add(lblNome_u);
JLabel lblNick_u = new JLabel("Nick:");
lblNick_u.setBounds(25, 50, 63, 14);
contentPane.add(lblNick_u);
JLabel lblEmail_u = new JLabel("Email:");
lblEmail_u.setBounds(25, 80, 63, 14);
contentPane.add(lblEmail_u);
JLabel lblPass_u = new JLabel("Password:");
lblPass_u.setBounds(25, 110, 63, 14);
contentPane.add(lblPass_u);
textFieldNome_u = new JTextField();
textFieldNome_u.setBounds(134, 20, 86, 20);
contentPane.add(textFieldNome_u);
textFieldNome_u.setColumns(10);
textFieldNick_u = new JTextField();
textFieldNick_u.setBounds(134, 50, 86, 20);
contentPane.add(textFieldNick_u);
textFieldNick_u.setColumns(10);
textFieldEmail_u= new JTextField();
textFieldEmail_u.setBounds(134, 80, 86, 20);
contentPane.add(textFieldEmail_u);
textFieldEmail_u.setColumns(10);
textFieldPass_u = new JTextField();
textFieldPass_u.setBounds(134, 110, 86, 20);
contentPane.add(textFieldPass_u);
textFieldPass_u.setColumns(10);
JButton btnI = new JButton("Inserir");
btnI.setForeground(Color.RED);
btnI.addActionListener(this);
btnI.setBounds(23, 151, 89, 23);
contentPane.add(btnI);
btnI.setName("btnI");
/*alterar*/
JLabel lblNome_uA = new JLabel("Nome:");
lblNome_uA.setBounds(280, 20, 46, 14);
contentPane.add(lblNome_uA);
JLabel lblNick_uA = new JLabel("Nick:");
lblNick_uA.setBounds(280, 50, 63, 14);
contentPane.add(lblNick_uA);
JLabel lblEmail_uA = new JLabel("Email:");
lblEmail_uA.setBounds(280, 80, 63, 14);
contentPane.add(lblEmail_uA);
JLabel lblPass_uA = new JLabel("Nova Password:");
lblPass_uA.setBounds(280, 110, 100, 14);
contentPane.add(lblPass_uA);
textFieldNome_uA = new JTextField();
textFieldNome_uA.setBounds(410, 20, 86, 20);
contentPane.add(textFieldNome_uA);
textFieldNome_uA.setColumns(10);
textFieldNick_uA = new JTextField();
textFieldNick_uA.setBounds(410, 50, 86, 20);
contentPane.add(textFieldNick_uA);
textFieldNick_uA.setColumns(10);
textFieldEmail_uA= new JTextField();
textFieldEmail_uA.setBounds(410, 80, 86, 20);
contentPane.add(textFieldEmail_uA);
textFieldEmail_uA.setColumns(10);
textFieldPass_uA = new JTextField();
textFieldPass_uA.setBounds(410, 110, 86, 20);
contentPane.add(textFieldPass_uA);
textFieldPass_uA.setColumns(10);
JButton btnA = new JButton("Alterar");
btnA.setForeground(Color.BLUE);
btnA.addActionListener(this);
btnA.setBounds(280, 151, 89, 23);
contentPane.add(btnA);
btnA.setName("btnA");
JButton btnISQL = new JButton("Função Inserir SQL");
btnISQL.setForeground(Color.RED);
btnISQL.addActionListener(this);
btnISQL.setBounds(23, 200, 200, 23);
contentPane.add(btnISQL);
btnISQL.setName("btnISQL");
JButton btnASQL = new JButton("Função Alterar SQL");
btnASQL.setForeground(Color.BLUE);
btnASQL.addActionListener(this);
btnASQL.setBounds(280, 200, 200, 23);
contentPane.add(btnASQL);
btnASQL.setName("btnASQL");
}
public void actionPerformed(ActionEvent e) {
Component component = (Component)e.getSource();
if(component.getName().equals("btnI")) {
String nome_u = textFieldNome_u.getText();
String nick_u = textFieldNick_u.getText();
String email_u = textFieldEmail_u.getText();
String pass_u = textFieldPass_u.getText();
Usuario usuario = new Usuario(nome_u, nick_u, email_u, pass_u);
AcessoUsuarioDAO dao = new AcessoUsuarioDAO();
dao.inserir(usuario);
JOptionPane.showMessageDialog(null,"Inserido com Sucesso!!");
}
else {
if(component.getName().equals("btnISQL")) {
String nome_u = textFieldNome_u.getText();
String nick_u = textFieldNick_u.getText();
String email_u = textFieldEmail_u.getText();
String pass_u = textFieldPass_u.getText();
Usuario usuario = new Usuario(nome_u, nick_u, email_u, pass_u);
AcessoUsuarioDAO dao = new AcessoUsuarioDAO();
dao.inserir_funcao_SQL(usuario);
JOptionPane.showMessageDialog(null,"Teste");
}
}
}
}
package sql;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import java.util.ArrayList;
import java.util.List;
import model.Usuario;
public class AcessoUsuarioDAO implements UsuarioDAO{
public void inserir(Usuario u) throws AcessoUsuarioException
{
Connection conexao = null;
PreparedStatement comando = null;
try
{
conexao = Conexao.getConexao();
String sql = "INSERT INTO Usuario(nome_u, nick_u,email_u,pass_u) VALUES (?, ?, ?, ?)";
comando = conexao.prepareStatement(sql);
comando.setString(1, u.getNome_u());
comando.setString(2, u.getNick_u());
comando.setString(3, u.getEmail_u());
comando.setString(4, u.getPass_u());
comando.executeUpdate();
System.out.println(sql);
}
catch(SQLException e)
{
throw new AcessoUsuarioException("erro de inserção de Usuario", e);
}
finally
{
if(conexao != null)
{
try
{
conexao.close();
comando.close();
}
catch(SQLException e2)
{
}
}
}
}
public void inserir_funcao_SQL (Usuario u) throws AcessoUsuarioException
{
String nome_u ="teste";
String nick_u ="teste";
String email_u="teste@";
String pass_u="teste";
int pass_c;
Connection conexao = null;
CallableStatement cstmt = null;
try
{
conexao = Conexao.getConexao();
cstmt = conexao.prepareCall("{?= call inserir_usuario(?,?,?,?)}");
//
cstmt.registerOutParameter (1, Types.INTEGER);
cstmt.setString(2,nome_u);
cstmt.setString(3,nick_u);
cstmt.setString(4,email_u);
cstmt.setString(5,pass_u);
cstmt.executeUpdate();
pass_c = cstmt.getInt(1);
}
catch(SQLException e)
{
e.printStackTrace();
throw new AcessoUsuarioException("erro de inserção de Usuario", e);
}
finally
{
if(conexao != null)
{
try
{
conexao.close();
cstmt.close();
}
catch(SQLException e2)
{
}
}
}
}
}
beijokas