Erro sql ao alterar a situação da conta

5 respostas
Rodivan
Pessoal estou tendo o seguinte erro ao alterar a situação de uma conta a receber.. Estou usando mysql.. O erro é o seguinte:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'situacao = 'aberta', WHERE codigo = 0' at line 1
Na minha classe o comando sql está assim:
String sqlLista = "SELECT codigo, codpaciente, dataemissao, datavencimento, valorparcela, valorpago, " +
		"datapagamento, valorrestante FROM contasreceber WHERE situacao = 'aberta' ORDER BY codpaciente";

		ps = con.prepareStatement(sqlLista);

		rs = ps.executeQuery();
(...)
Na servlet está assim:
else if(action.equals("confirmaRecebimento")){
			
			StringBuilder sb = new StringBuilder();
			
			String dataPagamento = request.getParameter("pagamento");
			
			double valorTotal = Double.parseDouble(request.getParameter("valorparcela")!= null ? request.getParameter("valorparcela") : "0");
			double valorPago = Double.parseDouble(request.getParameter("valorpago")!= null ? request.getParameter("valorpago") : "0");
			
			String situacao = "";
			
			double valorRestante = valorTotal - valorPago;
			
			if(valorRestante > 0.0){
				
				situacao = "aberta";
				
			}
			else{
				
				situacao = "recebida";
				
			}
			
			ContasReceber contasReceber = new ContasReceber();
			
			contasReceber.setDataPagamento(cd.converteDatas(dataPagamento));
			contasReceber.setValorPago(valorPago);
			contasReceber.setValorRestante(valorRestante);
			contasReceber.setSituacao(situacao);

Alguém sabe o que pode ser?

5 Respostas

drsmachado

Por isto

'situacao = 'aberta', WHERE codigo = 0' at line 1

e por isto

WHERE situacao = 'aberta' ORDER BY codpaciente";

digo que não são a mesma query.
Perceba que o erro aponta para uma outra coisa.
Poste a classe toda, pois só assim poderemos ajudar

Master.Abs

Só uma dica se quiser trazer todos os dados do seu select faça
SELECT * FROM tabela; dessa forma não é necessário colocar todas as colunas da sua tabela.

Agora com relação ao seu código, coloque o código completo para que possamos avaliar o que se passa.

Flw.

drsmachado

Master.Abs:
Só uma dica se quiser trazer todos os dados do seu select faça
SELECT * FROM tabela; dessa forma não é necessário colocar todas as colunas da sua tabela.

E aí, quando o banco de dados surtar e resolver parar do nada, não se preocupe.

SELECT * FROM...

É a pior forma de se fazer select.

Por favor, faça da maneira correta, identifique quais colunas precisará e crie o select adequado.

M

leia seu erro… WHERE codigo = 0

Rodivan

Pessoal era apenas uma virgula mal colocada :oops:

Criado 1 de fevereiro de 2012
Ultima resposta 6 de fev. de 2012
Respostas 5
Participantes 4