Я пытаюсь добавить пациента в свою систему, но для этого мне нужен основной телефон и ключ адреса. Единственное сообщение, которое я получил, это то, что не удалось найти codTel и codEndereco.
TelefoneDAO.java
package model.dao;
import database.ConexaoBD;
import java.sql.*;
import model.bean.Telefone;
public class TelefoneDAO {
private int generatedKey; // Variável para armazenar a chave gerada
public void createTelefone(Telefone telefone) throws SQLException {
Connection conn = null;
PreparedStatement create = null;
try {
//Obtem conexão com o banco de dados
conn = ConexaoBD.obtemConexao();
//Preparando o SQL para o inserir Paciente
String sql = "INSERT INTO telefone_paciente (celular) VALUES (?)";
create = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
create.setString(1, telefone.getNumero());
//Executa a inserção
create.executeUpdate();
// Obtém a chave gerada
ResultSet generatedKeys = create.getGeneratedKeys();
if (generatedKeys.next()) {
generatedKey = generatedKeys.getInt(1);
System.out.println("ID gerado do telefone: " + generatedKey);
}
System.out.println("Telefone inserido com sucesso!");
} catch (SQLException e) {
System.out.println("Erro ao inserir paciente: " + e.getMessage());
}
}
public int getGeneratedKey() {
return generatedKey;
}
}
EnderecoDAO.java
package model.dao;
import database.ConexaoBD;
import java.sql.*;
import model.bean.Endereco;
public class EnderecoDAO {
private int generatedKey; // Variável para armazenar a chave gerada
public void createEndereco(Endereco endereco) throws SQLException {
Connection conn = null;
PreparedStatement create = null;
try {
//Obtem conexão com o banco de dados
conn = ConexaoBD.obtemConexao();
//Preparando o SQL para o inserir Paciente
String sql = "INSERT INTO endereco_paciente (rua, bairro, cidade, estado, cep) VALUES (?,?,?,?,?)";
create = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
create.setString(1, endereco.getRua());
create.setString(2, endereco.getBairro());
create.setString(3, endereco.getCidade());
create.setString(4, endereco.getEstado());
create.setInt(5, endereco.getCep());
//Executa a inserção
create.executeUpdate();
// Obtém a chave gerada
ResultSet generatedKeys = create.getGeneratedKeys();
if (generatedKeys.next()) {
generatedKey = generatedKeys.getInt(1);
System.out.println("ID gerado do endereço: " + generatedKey);
}
System.out.println("Endereço inserido com sucesso!");
} catch (SQLException e) {
System.out.println("Erro ao inserir paciente: " + e.getMessage());
}
}
public int getGeneratedKey() {
return generatedKey;
}
}
PacienteDAO.java
package model.dao;
import model.bean.Paciente;
import database.ConexaoBD;
import java.sql.*;
public class PacienteDAO {
//CRUD
public boolean createPaciente(Paciente paciente) throws SQLException {
Connection conn = null;
PreparedStatement create = null;
try {
// Obter conexão com o banco de dados
conn = ConexaoBD.obtemConexao();
// Preparando o SQL para inserir o Paciente
String sql = "INSERT INTO paciente (nome, cpf, email, senha, cod_tel, cod_endereco) VALUES (?,?,?,?,?,?)";
create = conn.prepareStatement(sql);
// Parametros de valor para create
create.setString(1, paciente.getNome());
create.setInt(2, paciente.getCpf());
create.setString(3, paciente.getEmail());
create.setString(4, paciente.getSenha());
create.setInt(5, paciente.getTelefone().getCodTel());
create.setInt(6, paciente.getEndereco().getCodEndereco());
// Executa a inserção
create.executeUpdate();
System.out.println("Paciente inserido com sucesso!");
return true;
} catch (SQLException e) {
System.out.println("Erro ao inserir paciente: " + e.getMessage());
return false;
} finally {
// Fecha os recursos
if (create != null) {
create.close();
}
if (conn != null) {
conn.close();
}
}
}
}
Пессоа.java
package model.bean;
public abstract class Pessoa {
private String nome;
private String email;
private String senha;
//Construtor
public Pessoa() {
}
public Pessoa(String nome, String email, String senha) {
this.nome = nome;
this.email = email;
this.senha = senha;
}
public Pessoa(String email, String senha) {
this.email = email;
this.senha = senha;
}
//Getters & Setters
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}
Paciente.java
model.bean;
public class Paciente extends Pessoa {
private int cpf;
private Telefone telefone;
private Endereco endereco;
//Construtor
/*DAO*/
public Paciente(String nome, int cpf, String email, String senha) {
super(nome, email, senha);
this.cpf = cpf;
}
//Getters & Setters
public int getCpf() {
return cpf;
}
public void setCpf(int cpf) {
this.cpf = cpf;
}
public void setTelefone(Telefone telefone) {
this.telefone = telefone;
}
public void setEndereco(Endereco endereco) {
this.endereco = endereco;
}
public Telefone getTelefone() {
return telefone;
}
public Endereco getEndereco() {
return endereco;
}
}
Endereco.java
package model.bean;
public abstract class Endereco {
private int codEndereco;
private String rua;
private String bairro;
private String cidade;
private String estado;
private int cep;
//Construtor
public Endereco() {
}
public Endereco(int codEndereco, String rua, String bairro, String cidade, String estado, int cep) {
this.codEndereco = codEndereco;
this.rua = rua;
this.bairro = bairro;
this.cidade = cidade;
this.estado = estado;
this.cep = cep;
}
//Getters & Setters
public int getCodEndereco() {
return codEndereco;
}
public void setCodEndereco(int codEndereco) {
this.codEndereco = codEndereco;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public int getCep() {
return cep;
}
public void setCep(int cep) {
this.cep = cep;
}
}
Telefone.java
package model.bean;
public abstract class Telefone {
private int codTel;
private String numero;
//Construtor
public Telefone() {
}
public Telefone(int codTel, String numero) {
this.codTel = codTel;
this.numero = numero;
}
//Getters & Setters
public int getCodTel() {
return codTel;
}
public void setCodTel(int codTel) {
this.codTel = codTel;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
}
Я использую этот метод для получения данных.
Paciente.java (форма)
private void btnProximaTelaActionPerformed(java.awt.event.ActionEvent evt) {
// Identificando Dados Inseridos
String nome = txtNome.getText();
String email = txtEmail.getText();
int cpf = Integer.parseInt(txtCpf.getText());
String senha1 = new String(senhaPasswordField1.getPassword());
String senha2 = new String(senhaPasswordField2.getPassword());
try {
if (senha1.equals(senha2)) {
Paciente paciente = new Paciente(nome, cpf, email, senha1);
PacienteDAO pacientedao = new PacienteDAO();
pacientedao.createPaciente(paciente);
System.out.println("Paciente inserido com sucesso");
JOptionPane.showMessageDialog(null, "Inserido com sucesso.");
} else {
JOptionPane.showMessageDialog(null, "Suas senhas estão diferentes. Tente novamente.");
}
System.out.println("Dados Salvos com sucesso");
} catch (Exception e) {
System.out.println("Não foi possível inserir: " + e.getMessage());
}
}
Telefone.java (форма)
private void btnCriarContaActionPerformed(java.awt.event.ActionEvent evt) {
String celular = txtCelular.getText();
String celular1 = txtCelular1.getText();
try {
if (celular.equals(celular1)) {
Telefone telefone = new Telefone(0,celular) {
};
TelefoneDAO telefonedao = new TelefoneDAO();
telefonedao.createTelefone(telefone);
System.out.println("Telefone cadastrado. Aguardando outros dados.");
} else {
JOptionPane.showMessageDialog(null, "Números não coincidem. Tente novamente.");
}
InsertAddressPaciente clickNextPage = new InsertAddressPaciente();
clickNextPage.setVisible(true);
this.dispose();
} catch (Exception e) {
System.out.println("Não foi possivel inserir" + e.getMessage());
}
}
Endereco.java(форма)
private void btnCriarContaActionPerformed(java.awt.event.ActionEvent evt) {
//Identificando Dados Inseridos
String rua = txtRua.getText();
String bairro = txtBairro.getText();
String cidade = txtCidade.getText();
String estado = txtEstado.getText();
int cep = Integer.parseInt(txtCep.getText());
try {
Endereco endereco = new Endereco(0,rua, bairro, cidade, estado, cep) {};
EnderecoDAO enderecodao = new EnderecoDAO();
enderecodao.createEndereco(endereco);
InsertPersonalDataPaciente clickNextPage = new InsertPersonalDataPaciente();
clickNextPage.setVisible(true);
this.dispose();
System.out.println("Enderço Salvos com sucesso.");
} catch (Exception e) {
System.out.println("Não foi possivel inserir");
}
}
Подробнее здесь: https://stackoverflow.com/questions/764 ... to-have-th
Добавить пациента в мою систему, но для того, чтобы добавить его, мне нужен основной телефон и ключ адреса [закрыто] ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение