[Duvida] Inserir dados no mysql

10 respostas
S

Tenho uma duvida em inserir dados no mysql apartir de um textfield.

o que tenho usado até agora é este codigo:

Connection conn = Conexao.getConnection(); try{ Statement st = conn.createStatement(); String q = ""; q+= " insert into usuarios (nome)"; q+= "values ('nome')"; st.executeUpdate(q); } catch(SQLException e){ System.out.println(e.getMessage());}

Mas o que eu queria era inserir um nome apartir do textfield e depois inserir na bd.

vlw.

10 Respostas

V

Uma forma simples:

String strNome = textFieldNome.getText();
q = “insert into usuarios (nome) values (’” + strNome + “’)”;

S

vinicius-serpa:
Uma forma simples:

String strNome = textFieldNome.getText();
q = “insert into usuarios (nome) values (’” + strNome + “’)”;

Pois, resultou.

Tinha tentado a mesma coisa mas assim ("+strNome+") faltava as ’ ’ em antes. :smiley:

vlw

S

Só mais uma duvida.

Se eu meter sempre o mesmo nome ele vai adicionando os mesmos nomes na bd.

como faço para caso ja haja esse nome ele nao adicionar ?

vlw.

wbdsjunior

Scofield:
Só mais uma duvida.

Se eu meter sempre o mesmo nome ele vai adicionando os mesmos nomes na bd.

como faço para caso ja haja esse nome ele nao adicionar ?

vlw.


você deve fazer a validação no banco de dados.

o campo “nome” da tabela de “usuario” deve ter uma constraint do tipo “unique”.

abraço.

caiomacedor

Scofield, quando eu comecei a estudar JAVA na faculdade fiz muitas coisinhas em swing, tenho alguns formulario que faz isso, se vc quiser podo colocar um exemplo aqui.

S

Pode ser cara :wink:

vlw.

caiomacedor

classe contendo o form com os textFields:

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingConstants;

import br.com.calixto.bean.Pessoa;

public class Formulario extends JFrame {
	private static final long serialVersionUID = 1L;
	private JPanel panel;
	private JLabel labelTitle, lbNome, lbEndereco, lbFone, lbEmail; 
	private JTextField tfNome, tfEndereco, tfFone, tfEmail;
	private JButton botaoEnviar;
	
	public Formulario() {
		super("Cadastro de Pessoas");
		setSize(500, 300);
		setLocationRelativeTo(getContentPane());
		labelTitle = new JLabel("Formulário Pessoa");
		labelTitle.setFont(new Font("TimesRoman",Font.BOLD,14));
		labelTitle.setBounds(180, 6, 300, 20);
		labelTitle.setForeground(Color.red);
		
		lbNome = new JLabel("Nome: ", SwingConstants.RIGHT);
		lbNome.setBounds(10, 30, 100, 20);
		
		lbEndereco = new JLabel("Endereço: ", SwingConstants.RIGHT);
		lbEndereco.setBounds(10, 60, 100, 20);

		lbFone = new JLabel("Telefone: ", SwingConstants.RIGHT);
		lbFone.setBounds(10, 90, 100, 20);

		lbEmail = new JLabel("Email: ", SwingConstants.RIGHT);
		lbEmail.setBounds(10, 120, 100, 20);
		
		tfNome = new JTextField();
		tfNome.setBounds(111, 31, 300, 20);
		
		tfEndereco = new JTextField();
		tfEndereco.setBounds(111, 61, 300, 20);
		
		tfFone = new JTextField();
		tfFone.setBounds(111, 91, 150, 20);
		
		tfEmail = new JTextField();
		tfEmail.setBounds(111, 121, 300, 20);
		
		botaoEnviar = new JButton("Enviar");
		botaoEnviar.setBounds(200, 180, 80, 20);
		botaoEnviar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent event) {
				botaoEnviarActionEvent(event);
			}
		});
		
		panel = new JPanel();
		panel.setLayout(null);
		panel.add(labelTitle);
		panel.add(lbNome);
		panel.add(lbEndereco);
		panel.add(lbFone);
		panel.add(lbEmail);
		
		panel.add(tfNome);
		panel.add(tfEndereco);
		panel.add(tfFone);
		panel.add(tfEmail);
		
		panel.add(botaoEnviar);
		getContentPane().add(panel);
		getRootPane().setDefaultButton(botaoEnviar);
	}
	
	private void botaoEnviarActionEvent(ActionEvent event) {
		Pessoa pessoa = new Pessoa();
		if(tfNome.getText() != null && tfNome.getText().length() > 0) {
			pessoa.setNome(tfNome.getText());
			System.out.println(pessoa.getNome());// Essas variaveis que estão sendo impressa vc grava no banco
		}
		if(tfEndereco.getText() != null && tfEndereco.getText().length() > 0) {
			pessoa.setEndereco(tfEndereco.getText());
			System.out.println(pessoa.getEndereco());
		}
		if(tfFone.getText() != null && tfFone.getText().length() > 0) {
			pessoa.setFone(tfFone.getText());
			System.out.println(pessoa.getFone());
		}
		if(tfEmail.getText() != null && tfEmail.getText().length() > 0) {
			pessoa.setEmail(tfEmail.getText());
			System.out.println(pessoa.getEmail());
		}
	}
	
	public static void main(String[] args) {
		Formulario formulario = new Formulario();
		formulario.setVisible(true);
		formulario.setResizable(false);
		formulario.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

bean que recebe os valores dos textFields:

public class Pessoa {

	private String nome;
	private String endereco;
	private String fone;
	private String email;
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getEndereco() {
		return endereco;
	}
	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}
	public String getFone() {
		return fone;
	}
	public void setFone(String fone) {
		this.fone = fone;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
}
S

Brigadao cara vou dar uma vista de olhos :wink:

vlw.

S

Agora tenho uma duvida, queria meter as minha colunas que tenho na base de dados num jlist.

Ja vi aqui alguns exemplos mas nao consegui fazer o que queria.

vlw

caiomacedor

Cara faz um esforço ai meu, tenta fazer e onde der errado vc posta a duvida aqui que a galera te ajuda. Se eu ou alguem fazer tudo pra você assim você nunca vai aprender. Quebre um pouco a cabeça ai.

Criado 19 de junho de 2009
Ultima resposta 23 de jun. de 2009
Respostas 10
Participantes 4