Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Java método

$
0
0

@JanaAeso escreveu:

Pessoal bom dia!
Gostaria de saber como eu faço o método atualizar. Estou desenvolvendo (tarefa da faculdade) aplicação em java jdbc, e não estou conseguindo desenvolver o método update (atualizar). Até tentei mas deu um erro de executeQuery neste método, segue o código até onde eu fiz. Mandei o main e o repositório. Quem puder me ajudar mais uma vez, agradeço pela atenção desde já!

`package br.com.certidoes.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import br.com.certidoes.classes.Certidao;

public class RepositorioCertidoesBD implements RepositorioCertidoes{

private String nomeDriver;
private String urlConexao;
private String usuarioConexao;
private String senhaConexao;
private boolean indDriverCarregado;

private static final String MSG_FALHA_CARGA_DRIVER =
	"Nome do driver JDBC usado não corresponde a uma classe válida";
private static final String MSG_ERRO_CONEXAO =
	"Erro ao obter conexão com o banco de dados";

private static final String MSG_ERRO_ACESSO_BD =
	"Erro de acesso ao banco de dados";

private static final String MSG_CERTIDAO_CADASTRADA =
	"Certidao já cadastrada";

private static final String MSG_ID_NAO_ENCONTRADO =
	"ID não encontrado";

private static final String MSG_ID_INVALIDO =
	"ID inválido";

private static final String INSERT_CERTIDAO =
	"INSERT INTO certidao (id, nome, DiasEmissao, Orgao_Emissor_id) VALUES (?,?,?,?)";

private static final String PROCURA_CERT=
	"SELECT id, nome, DiasEmissao, Orgao_Emissor_id FROM certidao WHERE id = ?";

private static final String LISTA_CERT =
	"SELECT id, nome, DiasEmissao, Orgao_Emissor_id FROM certidao";

private static final String DELETE_CERT =
	"DELETE FROM certidao WHERE id = ?";

private static final String ATUALIZAR_CERT =
		"UPDATE certidao SET nome = ? WHERE id = ?";


public RepositorioCertidoesBD(
		
		String pNomeDriver,
		String pUrlConexao,
		String pUsuarioConexao,
		String pSenhaConexao) {
	
	super();
	
	nomeDriver = pNomeDriver;
	urlConexao = pUrlConexao;
	usuarioConexao = pUsuarioConexao;
	senhaConexao = pSenhaConexao;
	indDriverCarregado = false;
}

private Connection getConexao() {

	if (!indDriverCarregado) {
		try {
			Class.forName(nomeDriver);
			indDriverCarregado = true;
		} catch (ClassNotFoundException e) {
			System.err.print(MSG_FALHA_CARGA_DRIVER);
		}
	}
	try {
		return DriverManager.getConnection(
				urlConexao,
				usuarioConexao,
				senhaConexao);
	} catch (SQLException e) {
		System.err.print(MSG_ERRO_CONEXAO);
		return null;
	}
}

public void inserir (Certidao c) {

	if (c != null) {
		Connection con = getConexao();
		PreparedStatement psCert = null;
		PreparedStatement psEnd = null;
		
		try {
			psCert = con.prepareStatement(INSERT_CERTIDAO);
			psCert.setInt(1, c.getId());
			psCert.setString(2, c.getNome());
			psCert.setString(3, c.getDiasEmissao());
			psCert.setInt(4, c.getOrgao_Emissor_id());
			

			psCert.executeUpdate();
			
		} catch (SQLException e) {
			System.err.print(e.getMessage());
			
		} finally {
			fechaRecursos(con, psCert, null);
			fechaRecursos(con, psEnd, null);
		}
	}
}

	public Certidao atualizar(int id) {
		if (id != 0) {
			Connection con = getConexao();
			PreparedStatement ps = null;
			int rs = null;
			try {
				ps = con.prepareStatement(ATUALIZAR_CERT);
				ps.setInt(1, id);

// rs = ps.executeQuery();
rs = ps.executeUpdate();

				if (rs.next()) {
					int bdId = rs.getInt(1);
					String bdNome = rs.getString(2);
					String bdDiasEmissao = rs.getString(3);
					int bdOrgao_Emissor_id = rs.getInt(4);


					Certidao cert = new Certidao();
					cert.setId(bdId);
					cert.setNome(bdNome);
					cert.setDiasEmissao(bdDiasEmissao);
					cert.setOrgao_Emissor_id(bdOrgao_Emissor_id);



					return cert;


				} else {
					System.err.print(MSG_CERTIDAO_CADASTRADA);
				}
			} catch (SQLException e) {
				System.err.println(MSG_ERRO_ACESSO_BD);
				System.err.println(e.getMessage());

			} finally {
				fechaRecursos(con, ps, rs);
			}
		} 
		return null;
	}


public Certidao procurar (int id) {
	if (id != 0) {
		Connection con = getConexao();
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			ps = con.prepareStatement(PROCURA_CERT);
			ps.setInt(1, id);
			rs = ps.executeQuery();
			if (rs.next()) {
				int bdId = rs.getInt(1);
				String bdNome = rs.getString(2);
				String bdDiasEmissao = rs.getString(3);
				int bdOrgao_Emissor_id = rs.getInt(4);


				Certidao cert = new Certidao();
				cert.setId(bdId);
				cert.setNome(bdNome);
				cert.setDiasEmissao(bdDiasEmissao);
				cert.setOrgao_Emissor_id(bdOrgao_Emissor_id);



				return cert;


			} else {
				System.err.print(MSG_CERTIDAO_CADASTRADA);
			}
		} catch (SQLException e) {
			System.err.println(MSG_ERRO_ACESSO_BD);
			System.err.println(e.getMessage());

		} finally {
			fechaRecursos(con, ps, rs);
		}
	} 
	return null;
}

public ResultSet listar() {
		Connection con = getConexao();
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			ps = con.prepareStatement(LISTA_CERT);
			rs = ps.executeQuery();
			if (rs.next()){
				return rs;
			}
		} catch (SQLException e) {
			System.err.println(MSG_ERRO_ACESSO_BD);
			System.err.println(e.getMessage());
		} 
	return rs;
}




public void remover(int id) {
if (id != 0) {
	Connection con = getConexao();
	PreparedStatement ps = null;
	try {
		ps = con.prepareStatement(DELETE_CERT);
		ps.setInt(1, id);
		int rows = ps.executeUpdate();
		if (rows <= 0) {
			System.err.println("ID não encontrado");
		}
	} catch (SQLException e) {
		System.err.println(MSG_ID_NAO_ENCONTRADO);
		System.err.println(e.getMessage());
	} finally {
		fechaRecursos(con, ps, null);
	}
} else {
	System.err.println(MSG_ID_INVALIDO);
}

}

private void fechaRecursos(
		Connection con,
		PreparedStatement ps,
		ResultSet rs) {

	try {
		if (rs != null)
			rs.close();
	} catch (Exception e) {
	}
	try {
		if (ps != null)
			ps.close();
	} catch (Exception e) {
	}
	try {
		if (con != null)
			con.close();
	} catch (Exception e) {
	
	
}

}
}


package br.com.certidoes.jdbc;

import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

import br.com.certidoes.classes.Certidao;

public class TesteCertidoes {

// @SuppressWarnings("deprecation")
public static void main(String[] args) {
Certidao c = new Certidao();
c.setId(1);
c.setNome("Licença de Operação do Conama");
c.setDiasEmissao("4");
c.setOrgao_Emissor_id(5);

	ConexionJDBC.obterInstancia().atualizar(1);

// ConexionJDBC.obterInstancia().inserir(c);
ResultSet rs = ConexionJDBC.obterInstancia().listar();

	
	ResultSetMetaData mdata;
	try {
		mdata = rs.getMetaData();
		int colCount = mdata.getColumnCount();
		String[] colNames = new String[colCount];
		for (int i = 1; i <= colCount; i++) {
			colNames[i - 1] = mdata.getColumnName(i);
		}
		rs.beforeFirst();
		while (rs.next()) {
			String[] rowData = new String[colCount];
			for (int i = 1; i <= colCount; i++) {
				rowData[i - 1] = rs.getString(i);
				System.out.println(rowData[i - 1]);
			}
		}
	} catch (SQLException e) {
		e.printStackTrace();
	}
}

}
`

Mensagens: 1

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>