[RESOLVIDO] Bad request for field slot 1,-1

1 resposta
rodrigo_ror
E aí galera, Fiz um select numa view e ao buscar os dados nesta view tenho o erro:
String SQLQuery = "Select * from vw_SocialA_total";
cVerifica = bd.rawQuery(SQLQuery, null);
A view criada em outra activity
String SQLView = "CREATE VIEW IF NOT EXISTS vw_SocialA_total AS "+ 
	        		"select * from "+
	        		"tab_SocialA_GrupoFamiliar as GF, "+
	        		"tab_SocialA_Endereco as E, "+
	        		"tab_SocialA_Localizado as L, "+
	        		"tab_SocialA_Nome as N, " +
	        		"tab_SocialA_DadosPessoais as DP, " +
	        		"tab_SocialA_Escolaridade as Es, " +
	        		"tab_SocialA_Documentos as D, " +
	        		"tab_SocialA_IndSegAlimen as ISA, " +
	        		"tab_SocialA_AcessoAlimen as AA "+
	        		"Where "+
	        		"E.SiasN = GF.SiasN AND "+
	        		"L.SiasN = GF.SiasN AND "+
	        		"N.SiasN = GF.SiasN AND "+
	        		"N.idMembro = GF.idMembro AND " +
	        		"DP.SiasN = GF.SiasN AND " +
	        		"DP.idMembro = GF.idMembro AND " +
	        		"Es.SiasN = GF.SiasN AND " +
	        		"Es.idMembro = GF.idMembro AND " +
	        		"D.SiasN = GF.SiasN AND " +
	        		"D.idMembro = GF.idMembro  AND " +
	        		"ISA.SiasN = GF.SiasN AND " +
	        		"AA.SiasN = GF.SiasN";
	        BancoDados.execSQL(SQLView);/**/

01-30 19:18:06.103: E/CursorWindow(22284): Bad request for field slot 1,-1. numRows = 2, numColumns = 111

na realidade não estou conseguindo entender onde ele está mostrando o erro: Bad request for field slot [Linha],[Coluna].

Quando o erro ta na coluna -1, onde eu verifico?

Onde ele gera o erro:
try{
			String SQLQuery = "Select * from vw_SocialA_total";
			cVerifica = bd.rawQuery(SQLQuery, null);
while(cVerifica.moveToNext()){
				Texto += cVerifica.getInt(cVerifica.getColumnIndex("SiasN"));
				Texto += ";";
				// *** tab_SocialA_Endereco
				Texto += cVerifica.getString(cVerifica.getColumnIndex("End"));
				Texto += ";";
				Texto += cVerifica.getString(cVerifica.getColumnIndex("FarinhasFormaAcesso"));
				Texto += ";";
				Texto += "\r\n";
				cVerifica.moveToFirst();
				Log.v("DefineTexto", "Criada linha: "+cVerifica.getPosition());
			}
		}catch (Exception Err){
			Err.printStackTrace();
			Texto = "Erro Encontrado:bd.rawQuery(SQLQuery, null); "+Err.getMessage();
			Log.e("DefineTexto", "bd.rawQuery(SQLQuery, null); "+Err.getMessage());
			
		}

    	return Texto;
    }
:shock: :?

1 Resposta

rodrigo_ror

Resolvido o Problema;

Em:

Texto += cVerifica.getInt(cVerifica.getColumnIndex("SiasN"));  
        Texto += ";";

O campo estava com o N maiúsculo no codigo e o nome do campo no banco era minúsculo.

Não sei se é a melhor forma de achar o erro, mas tive que debugar colocando log em 111 campos

mas esta concertado. :roll:

Criado 30 de janeiro de 2012
Ultima resposta 31 de jan. de 2012
Respostas 1
Participantes 1