Assim:
public void Salvar(BeansMoradores mod){
conex.conecta();
try {
PreparedStatement pat = conex.con.prepareStatement("INSERT INTO morador(nome, rg, cpf, nomedoveiculo, númerodoapartamento, númerodacasa, placa, imagem) VALUES(?,?,?,?,?,?,?<?)");
pat.setString(1, mod.getNome());
pat.setString(2, mod.getRG());
pat.setString(3, mod.getCPF());
pat.setString(4, mod.getNomeDoVeiculo());
pat.setString(5, mod.getNúmeroDoApartamento());
pat.setString(6, mod.getNúmeroDaCasa());
pat.setString(7, mod.getPlaca());
pat.setString(8, mod.getImagem());
pat.execute();
JOptionPane.showConfirmDialog(null, "Dados Inseridos Com Sucesso!");
} catch (SQLException ex) {
ex.printStackTrace();
}
conex.desconecta();
}
assim:
public BeansMoradores buscaMoradores(BeansMoradores mod){
conex.conecta();
conex.executaSql("SELECT *FROM morador WHERE nome like'%"+mod.getPesquisa()+"%'");
try{
conex.rs.first();
mod.setCodigo(conex.rs.getInt("codigo"));
mod.setNome(conex.rs.getString("nome"));
mod.setRG(conex.rs.getString("rg"));
mod.setCPF(conex.rs.getString("cpf"));
mod.setNomeDoVeiculo(conex.rs.getString("nomedoveiculo"));
mod.setNúmeroDoApartamento(conex.rs.getString("númerodoapartamento"));
mod.setNúmeroDaCasa(conex.rs.getString("númerodacasa"));
mod.setPlaca(conex.rs.getString("placa"));
mod.setImagem(conex.rs.getString("imagem"));
} catch (SQLException ex) {
ex.printStackTrace();
}
conex.desconecta();
return mod;
}
oi esqueceu de responder pra mim.
vc mandou o código que busca e não o que salva.
esta aqui o que salva então.
public void Salvar(BeansMoradores mod){
conex.conecta();
try {
PreparedStatement pat = conex.con.prepareStatement("INSERT INTO morador(nome, rg, cpf, nomedoveiculo, númerodoapartamento, númerodacasa, placa, imagem) VALUES(?,?,?,?,?,?,?<?)");
pat.setString(1, mod.getNome());
pat.setString(2, mod.getRG());
pat.setString(3, mod.getCPF());
pat.setString(4, mod.getNomeDoVeiculo());
pat.setString(5, mod.getNúmeroDoApartamento());
pat.setString(6, mod.getNúmeroDaCasa());
pat.setString(7, mod.getPlaca());
pat.setString(8, mod.getImagem());
pat.execute();
JOptionPane.showConfirmDialog(null, "Dados Inseridos Com Sucesso!");
} catch (SQLException ex) {
ex.printStackTrace();
}
conex.desconecta();
}
ok, agora é só passar a imagem no mod.setImagem…
assim:
mod.setImagem(conex.rs.getString(“imagem”));
nao, onde vc coloca o nome da pessoa cadastrada???
então é la, vc seta o mod.setImagem lá
nesse código olha:
private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {
if(jTextFieldNome.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o nome para continuar”);
jTextFieldNome.requestFocus();
}else if(jTextFieldRG.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o rg para continuar”);
jTextFieldRG.requestFocus();
}else if(jTextFieldCPF.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o cpf para continuar”);
jTextFieldCPF.requestFocus();
}else if(jTextFieldNomeDoVeiculo.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o nomedoveiculo para continuar”);
jTextFieldNomeDoVeiculo.requestFocus();
}else if(jTextFieldNúmeroDoApartamento.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o númerodoapartamento para continuar”);
jTextFieldNúmeroDoApartamento.requestFocus();
}else if(jTextFieldNúmeroDaCasa.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha o númerodacasa para continuar”);
jTextFieldNúmeroDaCasa.requestFocus();
}else if(jTextFieldPlaca.getText().isEmpty()){
JOptionPane.showMessageDialog(null,“preencha a placa para continuar”);
jTextFieldPlaca.requestFocus();
}else
if(salvar==true){
mod.setNome(jTextFieldNome.getText());
mod.setRG(jTextFieldRG.getText());
mod.setCPF(jTextFieldCPF.getText());
mod.setNomeDoVeiculo(jTextFieldNomeDoVeiculo.getText());
mod.setPlaca(jTextFieldPlaca.getText());
mod.setNúmeroDoApartamento(jTextFieldNúmeroDoApartamento.getText());
mod.setNúmeroDaCasa(jTextFieldNúmeroDaCasa.getText());
control.Salvar(mod);
jTextFieldNome.setText("");
jTextFieldRG.setText("");
jTextFieldCPF.setText("");
jTextFieldNomeDoVeiculo.setText("");
jTextFieldPlaca.setText("");
jTextFieldNúmeroDoApartamento.setText("");
jTextFieldNúmeroDaCasa.setText("");
jTextFieldNome.setEnabled(false);
jTextFieldRG.setEnabled(false);
jTextFieldCPF.setEnabled(false);
jTextFieldNomeDoVeiculo.setEnabled(false);
jTextFieldPlaca.setEnabled(false);
jTextFieldNúmeroDoApartamento.setEnabled(false);
jTextFieldNúmeroDaCasa.setEnabled(false);
jButtonSalvar.setEnabled(true);
jButtonCancelar.setEnabled(false);
preencherTabela("SELECT *FROM morador ORDER BY nome");
}else{
mod.setCodigo(Integer.parseInt(jTextFieldCOD.getText()));
mod.setNome(jTextFieldNome.getText());
mod.setRG(jTextFieldRG.getText());
mod.setCPF(jTextFieldCPF.getText());
mod.setNomeDoVeiculo(jTextFieldNomeDoVeiculo.getText());
mod.setPlaca(jTextFieldPlaca.getText());
mod.setNúmeroDoApartamento(jTextFieldNúmeroDoApartamento.getText());
mod.setNúmeroDaCasa(jTextFieldNúmeroDaCasa.getText());
control.Editar(mod);
jTextFieldCOD.setText("");
jTextFieldNome.setText("");
jTextFieldRG.setText("");
jTextFieldCPF.setText("");
jTextFieldNomeDoVeiculo.setText("");
jTextFieldPlaca.setText("");
jTextFieldNúmeroDoApartamento.setText("");
jTextFieldNúmeroDaCasa.setText("");
jTextFieldNome.setEnabled(false);
jTextFieldRG.setEnabled(false);
jTextFieldCPF.setEnabled(false);
jTextFieldNomeDoVeiculo.setEnabled(false);
jTextFieldPlaca.setEnabled(false);
jTextFieldNúmeroDoApartamento.setEnabled(false);
jTextFieldNúmeroDaCasa.setEnabled(false);
jButtonSalvar.setEnabled(true);
jButtonNovo.setEnabled(true);
jButtonCancelar.setEnabled(false);
preencherTabela("SELECT *FROM morador ORDER BY nome");
}
}
Quando for enviar o código aqui, seleciona ele todo e clica em </>.
mod.setNúmeroDaCasa(jTextFieldNúmeroDaCasa.getText());
coloca o mod.setImagem aqui, depois do numerodacasa
, eu te passei o código nas respostas acima
assim:
mod.setImagem(caminho);
Fabiana, vc quer salvar a imagem ou o caminho da imagem???
https://www.roseindia.net/jdbc/save_image.shtml
File image = new File("C:\\imagem.jpg");
FileInputStream inputStream = new FileInputStream(image);
statement.setBinaryStream(x, (InputStream) inputStream, (int)(image.length()));
Vc tem que ter uma coluna do tipo Blob no seu banco, como o @staroski falou.
então eu tenho que colocar aqui nesse código:
public Connection conecta(){ // metodo responsavel por realizar conexao com a base dados
System.setProperty("jdbc.Drivers", driver);
try {
con = DriverManager.getConnection(caminho, usuario, senha);
//JOptionPane.showMessageDialog(null,"Conexão Efetuada com Sucesso!!");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Erro ao se conectar com o banco de dados:\n"+ex.getMessage());
}
return con;
}
public void executaSql(String sql){
try {
stm = con.createStatement(rs.TYPE_SCROLL_INSENSITIVE, rs.CONCUR_READ_ONLY);
rs = stm.executeQuery(sql);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Erro ExecutaSql:\n"+ex.getMessage());
}
}
public void desconecta(){
try{
con.close();
//JOptionPane.showMessageDialog(null,"BD Desconectado com sucesso:");
} catch (SQLException ex){
JOptionPane.showMessageDialog(null,"Erro ao fechar conexao com BD:\n"+ex.getMessage());
}
}
Pq vc não assiste umas vídeo aulas no youtube primeiro? Vc tá perdida tanto em Java quanto em Banco de Dados…
Vc tem que colocar a coluna na tabela X do seu banco (MySQL/Postgres).
assim:
public class SaveImageToDatabase {
public static void main(String[] args) throws SQLException {
String caminho = "jdbc:postgresql://localhost:5432/projetocadastro";
String usuario = "postgres";
String senha ="fabi2019";
String sql = "INSERT INTO morador(nome, rg, cpf, nomedoveiculo, númerodoapartamento, númerodacasa, placa, imagem) VALUES(?,?,?,?,?,?,?,?)";
try (Connection conn = DriverManager.getConnection(caminho, usuario, senha );){
File image = new File("images.jpg");
try (FileInputStream inputStream = new FileInputStream(image);
PreparedStatement stmt = conn.prepareStatement(sql);) {
stmt.setString(1, "fabiana");
stmt.setBinaryStream(2, inputStream, image.length());
stmt.executeUpdate();
System.out.println("Image saved successfully.");
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}