Erro de sql

6 respostas
RiQuInHo_

Galera to tentando dar um insert e depois um alterar e da esse erro ele grava os dados no banco mas quando tento carregar da essa exception
Ate agora não entendo o pq , minhas variáveis são todas String ,e minha tabela é criada como Varchar .

java.sql.SQLException: Comparisons between 'VARCHAR' and 'INTEGER' are not supported.

pq isso!

6 Respostas

drsmachado

Qual o SQL que dispara esta exception?

RiQuInHo_

Segue a codigo

try { 
			ResultSet rs = null;   
			con = DAOConexao.getConn(); 
			//System.out.println(con);
			String sql = " Select * from tb_Cadastro where codigo = " + codigo;
			//	sql = String.format(sql, txtCodigoSegurado.getText());
			pstm = con.prepareStatement(sql); // aqui é quando ele da a Exception
			rs = pstm.executeQuery();
drsmachado

E como a variável codigo chega ali?
Aliás, seria mais correto fazer:

String sql = " Select * from tb_Cadastro where codigo = ?";  
    //  sql = String.format(sql, txtCodigoSegurado.getText());  
    pstm = con.prepareStatement(sql); // aqui é quando ele da a Exception  
rs.setString(1, codigo);/*supondo que codigo seja uma String realmente*/
    rs = pstm.executeQuery();
charleston10

Verifica qual é o tipo primitivo do campo Codigo da sua tabela se é igual ao tipo primitivo da variavel Codigo do seu sistema.

RiQuInHo_

Então olha ele montado pra ver se tem uma noção

public SeguradoTO consultar(String codigo){  //Estou retornando o código ele recebe o valor quando eu debugo mas cai naquela linha e da o erro
		
		SeguradoTO seguradoTO = new SeguradoTO();
		try { 
			ResultSet rs = null;   
			con = DAOConexao.getConn(); 
			//System.out.println(con);
			String sql = " Select * from tb_Cadastro where codigo = " + codigo;
			//	sql = String.format(sql, txtCodigoSegurado.getText());
			pstm = con.prepareStatement(sql); // aqui já cai na Exception
			rs = pstm.executeQuery(); 

			if(rs.next()){
				//rs.last();   
				seguradoTO.setCodigo(rs.getString("Codigo"));			
				seguradoTO.setNomeSegurado(rs.getString("NomeSegurado"));
				seguradoTO.setNascimento(rs.getString("Nascimento"));
                              //  fora o resto

no botão carregar

private void btnCarregarActionPerformed(java.awt.event.ActionEvent evt) { 

		String codigo = txtCodigoSegurado.getText();
		SeguradoTO seguradoTo = cad.consultar(codigo);
		carregar(seguradoTo);
}
chamo o carregar
private SeguradoTO  carregar(SeguradoTO seguradoTO){

		txtCodigo.setText(seguradoTO.getCodigo());
		txtBairro.setText(seguradoTO.getBairro());
                // //  fora o resto
Hebert_Coelho

charleston10:
Verifica qual é o tipo primitivo do campo Codigo da sua tabela se é igual ao tipo primitivo da variavel Codigo do seu sistema.
+1

Criado 12 de dezembro de 2012
Ultima resposta 12 de dez. de 2012
Respostas 6
Participantes 4