Erro no codigo?

4 respostas
G
Pessoal, estava fazendo esse codigo e quando coloquei pra rodar deu erro, o que está errado??? O erro é no codigo? na conexao? ou no proprio bd?? Estou usano o access com o eclipse. Se alguem souber!!!!
import java.sql.*;


public class Questao3 {
	
	private Statement stmtVendas;
	private Statement stmtCliente;
	private ResultSet rsVenda;
	private ResultSet rsCliente;
	
	ResultSet rs;
	Connection con;
	
	public boolean abrirConexao(){
		try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		con = DriverManager.getConnection("jdbc:odbc:Vendas");
		return true;
		}catch(Exception e){
			System.out.println(e.getMessage());
		}return false;
		
	}
	
	public void maioresCompradores(){
		@SuppressWarnings("unused")
		int notaFiscal,cliente,codigo;
		long valor;
		String nome;
		
		try{
			stmtVendas = con.createStatement();
			stmtCliente = con.createStatement();
			
			rsVenda =  stmtVendas.executeQuery("select * from TVendas");
			rsCliente = stmtCliente.executeQuery("select codigo,nome from TCliente order by nome");
			rsVenda.next();
			rsCliente.next();
			
			notaFiscal = rsVenda.getInt(1);
			cliente = rsVenda.getInt(2);
			valor = rsVenda.getLong(3);
			codigo = rsCliente.getInt(1);
			nome = rsCliente.getString("");
			
			while (!rsVenda.isAfterLast()&& !rsCliente.isAfterLast()){
				if(cliente==5){
					valor += valor; 
					System.out.println("os maiores sao:" +nome+ "" +
							"e o total comprado foi de: " +valor);
				}
			}
		}catch(Exception e){
			System.out.println(e.getMessage());
		}
	}
	
	public void fecharConexao(){
		try{
			con.close();
		}catch(Exception e){
			System.out.println(e.getMessage());
		}
		
	}
	
	
	public static void main(String[] args) {
		Questao3 qt= new Questao3();
		if (qt.abrirConexao()){
			qt.maioresCompradores();
			qt.fecharConexao();
		}

	}

}

Erro: Column not found

4 Respostas

ViniGodoy

O erro já diz tudo.

Uma das colunas do seu SELECT não existe. Pode ser codigo ou nome.
Verifique se a sintaxe no banco de dados está idêntica. Muitos levam em conta até letras maiúsculas/minúsculas.

nandobgi

O erro é bem sugestivo,

codigo = rsCliente.getInt(1);   
nome = rsCliente.getString("");   <-- aqui

[ ]'s

fiaux

Isso é muito ruim, tá deixando de ser fórum e virando um debugger. As pessoas postam o código para os outros corrigirem, não se dão o trabalho de entender o problema, muitas vezes aparentam nem saber o que estão fazendo. É uma pena isso, mas é minha opinião.

G

nandobgi:
O erro é bem sugestivo,

codigo = rsCliente.getInt(1);   
nome = rsCliente.getString("");   <-- aqui

[ ]'s


Foi mal, isso eu coloquei depois pra ver se dava certo, mas no lugar de “” tinha um 2, que era como eu tinha feito em outro codigo e tinha dado certo, mas esse deu esse erro: Result set type is TYPE_FORWARD_ONLY
foi mal, nao consertei antes… :oops:

Criado 9 de abril de 2008
Ultima resposta 9 de abr. de 2008
Respostas 4
Participantes 4