Boa tarde amigos, estou fazendo um trabalho pra a faculdade e to com um problema. No meu form de novo cliente eu tenho as informações do cliente e o endereço , porém são tabelas do mysql diferentes(relacionadas) e não sei como fazer o insert. Das outras vezes eu passava para o comando do sql aos parâmetros utilizando “?” como abaixo :
private void adicionar() {
String sql = "INSERT INTO usuario(nome,matricula,email,telefone,perfil,login,senha) VALUES (?,?,?,?,?,?,?)";
try {
//pega os dados do form e aplica o insert
pst = conexao.prepareStatement(sql);
pst.setString(1, txtUsuario.getText());
pst.setString(2, txtMatricula.getText());
pst.setString(3, txtEmail.getText());
pst.setString(4, txtFone.getText());
pst.setString(5, comboboxPerfil.getSelectedItem().toString());
pst.setString(6, txtLogin.getText());
pst.setString(7, password.getText());
//Validação dos campos obrigatórios
if ((txtMatricula.getText().isEmpty()) || (txtUsuario.getText().isEmpty()) || (txtLogin.getText().isEmpty()) || (password.getText().isEmpty())
|| (comboboxPerfil.getSelectedIndex() == 0)) {
JOptionPane.showMessageDialog(null, "Preencha todos os campos obrigatórios", "Aviso!", JOptionPane.INFORMATION_MESSAGE);
} else {
//executa a query
int adicionado = pst.executeUpdate();
if (adicionado > 0) {
JOptionPane.showMessageDialog(null, "Usuário salvo com sucesso", "Aviso!", JOptionPane.INFORMATION_MESSAGE);
txtUsuario.setText(null);
txtEmail.setText(null);
txtFone.setText(null);
comboboxPerfil.setSelectedItem(null);
txtLogin.setText(null);
password.setText(null);
txtMatricula.setText(null);
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
Só que agora eu teria que fazer um insert em duas tabelas, oq eu deveria fazer? Criar uma outra varivel tipo String e passar outra instrução sql? to perdido.
obrigado desde ja!