Erro na String SQL

3 respostas
F
Galera eu to tentando inserir no banco mas sempre ta dando nullpointer exception. O codigo ta aqui se alguem conseguir achar o erro.
public void inserirDados(Collection list) {
				
		Sindical_Bean beanInterno=null;
		Iterator it= list.iterator();
		
		
		String sql=("Insert Into tblBaixaSindical (idPagamento,cnpj,valorJuro,valorMulta,valorDaGuia,exercicio,tipo,meio,banco," +
				"entidadeSindical,usuario,capitalSocial,dataVencimento,dataPagamento,dataBaixa) values " +
				"(000,"+beanInterno.getCnpj()+",0,0,"+beanInterno.getValorContribuicao()+","+beanInterno.getExercicio()+","
				+"tipo,"+",normal,Fecomercio,"+",63,"+",0,"+beanInterno.getDataVencimento()+","+beanInterno.getDataPagamento()+","+
				beanInterno.getDataBaixa()+");");
		conexaoSQLServer = con.conectarBancoSqlServer();
		try {
			stmt =conexaoSQLServer.createStatement();
			rs= stmt.executeQuery(sql);
			while(it.hasNext()){
				beanInterno=(Sindical_Bean) it.next();
				rs= stmt.executeQuery(sql);
			}
			
			} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
	
	}

Falow!!!

3 Respostas

rodrigo_gomes

o seu objeto
Sindical_Bean beanInterno=null;

não foi inicializado e vc está tentando usa-lo em sua query.

[]´s
Rodrigo

Sami_Koivu

Olá,

O problema mais óbvio é que o String sql vai ser “evaluado” (por falta de uma palavra melhor) na hora que você define ele e não na hora em que você refere nele. Ou seja, na linha onde você está criando seu insert, beanInterno ainda está null e assim não dá para chamar os métodos getXXX(). Para resolver, coloque esta linha dentro do seu while.

[]s,
Sami

public void inserirDados(Collection list) {
				
		Sindical_Bean beanInterno=null;
		Iterator it= list.iterator();
		
		
		conexaoSQLServer = con.conectarBancoSqlServer();
		try {
			stmt =conexaoSQLServer.createStatement();
			rs= stmt.executeQuery(sql);
			while(it.hasNext()){
				beanInterno=(Sindical_Bean) it.next();
				String sql=("Insert Into tblBaixaSindical...
				rs= stmt.executeQuery(sql);
			}
			
			} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
	
	}
F

Cara era isso mesmo esqueci de instanciar o bean.
Mas agora deu um erro referente a um dado que eu nao posso salvar
se der pra voce ajudar denovo!!!

[Microsoft][ODBC SQL Server Driver][SQL Server]The name 'ccc' is not permitted in this context. Only constants, expressions, or variables allowed here. Column names are not permitted.

so que pelo que eu entendi o dado que eu coloquei nao e nenhum nome de coluna.

Obs: o “ccc” esta no local de tipo

Criado 17 de maio de 2006
Ultima resposta 17 de mai. de 2006
Respostas 3
Participantes 3