Problemas utilizando o ResultSet

Boa tarde pessoal, estou com o seguinte probleminha aqui.

eu tenho o seguinte método:



public void insereID(ConexaoDAO conexao) throws ParseException {

		Produtor produtor = new Produtor();

		this.verificaBranco();

		try {

			PreparedStatement Pstmt1 = this.conexao
					.prepareStatement("SELECT nome_produtor,nome_proprietario_imovel_principal,apelido,cpf,cod_ceacdap,nis,sexo,rg,ufdoorgaoemissor,datanasc,nomedamae,cdescolaridade,cdestadocivil,endereco,numerodoendereco FROM Produtor prod,Propriedade prop WHERE prod.cod_produtor = prop.cod_produtor AND prod.cod_produtor < 20 ");

			ResultSet rs = Pstmt1.executeQuery();

			int chave = 700000;
			while (rs.next()) {

		
				produtor.setNome(rs.getString(1));
				produtor.setApelido(rs.getString(3));
				produtor.setCpfProdutor(rs.getString(4));
				produtor.setCodCeac(rs.getString(5));
				produtor.setNis(rs.getString(6));
				produtor.setSexo(rs.getString(7));
				produtor.setRg(rs.getString(8));
				produtor.setCodUfEmissor(this.verificaUfOrgaoEmissor(rs.getString(9)));
				produtor.setDataNascimento(this.converteDataNascimento(rs.getDate(10)));
                produtor.setNomeDaMae(rs.getString(11));
                produtor.setCdEscolaridade(this.verificaEscolaridade(rs.getString(12)));
                produtor.setCdEstadoCivil((this.verificarEstadoCivil(rs.getString(13))));
				produtor.setLocalidadeProdutor(rs.getString(14));
			//    produtor.setEndereco(rs.getString(14));
			   produtor.setNdoEndereco(this.verificaNumEnd(rs.getString(15)));
				
			

				if (rs.getString(2).equals(produtor.getNome())) {

					Pstmt1 = this.conexao
							.prepareStatement("INSERT INTO FRENTE(CHAVE,ID_PRO,NOME_PROD,APELIDO,CPF_CNPJ,CEAC,NIS,SEXO,TIPO_DOC,INSC_ESTADUAL,UF_DOC,MAE,DATA_NASC,ESCOLARIDADE,EST_CIVIL,TIPO_PRODUTOR,LOCALIDADE_PROD,ENDERECO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

					Pstmt1.setString(1, Integer.toString(chave));
					Pstmt1.setString(2, "1");
					Pstmt1.setString(3, produtor.getNome());
					Pstmt1.setString(4, produtor.getApelido());
					Pstmt1.setString(5, produtor.getCpfProdutor());
					Pstmt1.setString(6, produtor.getCodCeac());
					Pstmt1.setString(7, produtor.getNis());
					Pstmt1.setString(8, produtor.getSexo());
					Pstmt1.setString(9, "1");
					Pstmt1.setString(10,produtor.getRg());
					Pstmt1.setString(11,produtor.getCodUfEmissor());
					Pstmt1.setString(12,produtor.getNomeDaMae());
					Pstmt1.setString(13,produtor.getDataNascimento());
					Pstmt1.setString(14, produtor.getCdEscolaridade());
					Pstmt1.setString(15,produtor.getCdEstadoCivil());
					Pstmt1.setString(16, "1");
					Pstmt1.setString(17,produtor.getLocalidadeProdutor());
					Pstmt1.setString(18,produtor.getNdoEndereco());
					Pstmt1.execute();

				} else {
					Pstmt1 = this.conexao                                                                                                                                                                                                 
							.prepareStatement("INSERT INTO FRENTE(CHAVE,ID_PRO,NOME_PROD,APELIDO,CPF_CNPJ,CEAC,NIS,SEXO,TIPO_DOC,INSC_ESTADUAL,UF_DOC,MAE,DATA_NASC,ESCOLARIDADE,EST_CIVIL,TIPO_PRODUTOR,LOCALIDADE_PROD,ENDERECO) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
					Pstmt1.setString(1, Integer.toString(chave));
					Pstmt1.setString(2, "2");
					Pstmt1.setString(3, produtor.getNome());
					Pstmt1.setString(4, produtor.getApelido());
					Pstmt1.setString(5, produtor.getCpfProdutor());
					Pstmt1.setString(6, produtor.getCodCeac());
					Pstmt1.setString(7, produtor.getNis());
					Pstmt1.setString(8, produtor.getSexo());
					Pstmt1.setString(9, "1");
					Pstmt1.setString(10,produtor.getRg());
					Pstmt1.setString(11,produtor.getCodUfEmissor());
					Pstmt1.setString(12,produtor.getNomeDaMae());
					Pstmt1.setString(13,produtor.getDataNascimento());
					Pstmt1.setString(14, produtor.getCdEscolaridade());
					Pstmt1.setString(15,produtor.getCdEstadoCivil());
					Pstmt1.setString(16, "1");
					Pstmt1.setString(17,produtor.getEndereco());
					Pstmt1.setString(18,produtor.getNdoEndereco());
					Pstmt1.execute();

				}

				chave++;

			}

			Pstmt1.close();

		} catch (SQLException e) {

			e.printStackTrace();
		}

	}

o problema é que

quando executo sem esta linha:


	   produtor.setNdoEndereco(this.verificaNumEnd(rs.getString(15)));

o programa funciona beleza. Mas quando eu utilizo ela. ele da erro.

aqui está o outro método:


  public String verificaNumEnd(String numEnd){
    	
    
    	
    	if (numEnd == null || numEnd.equals(null)) {
    		
    		numEnd = " ";
    	}
    	
    	return numEnd;
    	
    }

o erro que da é o seguinte:


java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] O campo 'FRENTE.ENDERECO' não pode ser uma seqüência de caracteres de comprimento nulo.
	at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbc.SQLExecute(Unknown Source)
	at sun.jdbc.odbc.JdbcOdbcPreparedStatement.execute(Unknown Source)
	at DAO.ConexaoDAO.insereID(ConexaoDAO.java:135)
	at DAO.Teste.main(Teste.java:12)
TESTE OK

Alguém poderia me ajudar?

Agradeço antecipadamente.

a mesangem diz tudo, o campo não pode ser nulo, vc pode alterar o banco para ser nulo

O campo está vazio, e isso não pode acontecer. É preciso fazer uma outra verificação (adicionar algum caractere, ao invés de espaços), ou obrigar o campo a ter sempre algum valor.