Busca trazendo null

11 respostas
D

Quando realizado a busca, está trazendo valor “NULL” sempre e não dá erro. Já tentei debugar e parece estar tudo ok, alguém pode saber o que esta ocorrendo?

public PendingNumber searchCompanyId(String companyName) throws SQLException {
		PreparedStatement stmt = this.connection.prepareStatement("select * from hipaas.tb_company where COMPANYDESCRIPTION = ?");
		PendingNumber pnd = new PendingNumber();
		stmt.setString(1, companyName);
		ResultSet rs = stmt.executeQuery();			
		while(rs.next()) {	
			pnd.setCompId(rs.getString("COMPANYID"));
			
		}
		System.out.println(pnd.getCompId());
		return pnd;
	}

11 Respostas

_Renatu

Estranho… o código parece estar certo…

O que está retornando null? este método?! pois você retorna um objeto criado dentro do método, ele não deveria ser null nunca, nem mesmo quando a consulta não retorna nenhum resultado…

Mostra um pouco do código onde voce está usando esse método?

ramilani12

Dê um debug e veriffique ele está retornando registros pela String que vc esta passando para consulta SQL

D

qdo eu sou o Sysout, ele imprime “null” e era pra imprimir o id da company.

e no debug, a query está certa

Só que no while(rs.next()), ele não entra…ele deveria entrar né? ~se deveria, eu não sei pq não entra…

D

_Renatu:
Estranho… o código parece estar certo…

O que está retornando null? este método?! pois você retorna um objeto criado dentro do método, ele não deveria ser null nunca, nem mesmo quando a consulta não retorna nenhum resultado…

Mostra um pouco do código onde voce está usando esse método?

Ok

Eu chamo o método na GUI que eu fiz:

jButton1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if (jComboBox1.getSelectedItem() != "" && jComboBox3.getSelectedItem() != "") {
					String pendingNumber = jTextField1.getText();
					String companyName = (String) jComboBox1.getSelectedItem();
					String acquirerName = (String) jComboBox3.getSelectedItem();
					try {
						PendingNumber.setPending(pendingNumber, companyName, acquirerName);

e no meu dao

public void updatePendingNumber(int pendingNumber, String companyName, String acquireName) throws SQLException {
	 		searchCompanyId(companyName);
ramilani12

Experimente trocando isso:

if (!jComboBox1.getSelectedItem().equals("") && !jComboBox3.getSelectedItem().equals(""))
D
ramilani12:
Experimente trocando isso:
if (!jComboBox1.getSelectedItem().equals("") && !jComboBox3.getSelectedItem().equals(""))

não adianta..do jeito que eu coloquei funciona, meus outros métodos do DAO estão funcionando, só esse e o update que não funcionam!!

Luiz_Aguiar

davidhc:
qdo eu sou o Sysout, ele imprime “null” e era pra imprimir o id da company.

Só que no while(rs.next()), ele não entra…ele deveria entrar né? ~se deveria, eu não sei pq não entra…


Elementar meu caro Watson, o null está ai ué… no conteudo do seu objeto pnd, pois se ele não entra no while, ou seja, não retorna nenhum registro a sau pesquisa no banco, rs.next() == false, por isso quando vc da pnd.getCompId() está sem valor nenhum, por ele não chegou a ser setado.

D

SIm…eu notei isso amigo Watson, mas continuo com dúvida sobre o PQ de não entrar no while.

Eu testei a query no console do hsql e deu certo…

Giulliano

Cara não respondendo a sua dúvida, mas fazendo uma pergunta…

pq vc usaou

rs = stmt.executeQuery();

e depois não usou

rs = stmt.getResultSet();

não será isso ?!?! ou não precisa disso ?!?!

[/]'s

dudaskank

Talvez então a query não esteja exatamente igual a que você escreve diretamente no hsql… não sei se tem como ver qual o sql que o driver está executando para comparar… ou tem?

D

todos os meus ‘select’ funcionam, com exceção deste e de um update que traz null tb!

o campo que estou jogando para o pnd.set…é um campo do tipo “Integer” no banco e no meu bean eu coloquei como String…isso tem algo a ver? Se tiver, como q vou trazer ele do banco?

EU usei do mesmo jeito em outro ResultSet e lá funcionou!

Criado 8 de fevereiro de 2007
Ultima resposta 8 de fev. de 2007
Respostas 11
Participantes 6