Ok Bruno.
Copiei o arquivo de db a partir do emulador (adb pull /data/data/$PACKAGE/databases/MeuDb) e executei a consulta no Sqliteman. Mesmo resultado, a construtora existe.
Aproveitei e conferi os dados do cliente..o cliente está com o email e id da construtora certos também.
Quando executo manualmente
UPDATE CLIENTE set FONE_CELULAR='1111111111' WHERE UPPER(EMAIL)=UPPER('julio@gmail.com') AND UPPER(ID_CONSTRUTORA)=UPPER('2');
também dá certo.
Em 16 de dezembro de 2011 13:00, Bruno Albuquerque <bruno.albuquerque@gmail.com> escreveu:
Cara, conecta no sqlite e rode queries manualmente. Por exemplo, no
seu codigo abaixo não dá pra ter a mínima idéia se o nome do campo de
id da tabela construtora está correto (tem que ser _id).
-Bruno
2011/12/16 Júlio Cesar Bueno Cotta <juliocbcotta@gmail.com>:
> Bruno, durante a instalação eu estou inserindo vários campos de teste nas
> tabelas, entre eles estão as construtoras..sendo que eu especifico o id
> delas manualmente. Executei o select e me retornou os dados corretamente.
>
> public static Construtora get(Long idConstrutora) {
>
> idConstrutora = 2L;
> //Cursor c = consultar(TABELA_CONSTRUTORA, COLUNA_ID_CONSTRUTORA,
> idConstrutora.toString());
> Cursor c = mDb.query(true,TABELA_CONSTRUTORA,
> null,COLUNA_ID_CONSTRUTORA+"=" +String.valueOf(idConstrutora),null,null,
> null, null,null);
> c.moveToFirst();
> Construtora cons = deCursorParaConstrutora(c);
> System.out.println("CONSTRUTORAAAAAAAAAAAAAAAAAAAAAAAAAA
> "+c.getCount()+" ID "+cons.getIdConstrutora());
> c.close();
> return cons;
>
> }
>
> 12-16 12:06:54.542: I/System.out(459): CONSTRUTORAAAAAAAAAAAAAAAAAAAAAAAAAA
> 1 ID 2
>
> Queria muito que esse fosse o problema, pois seria simples de resolver, mas
> pelo o que vi aqui, não é.
> Mais alguma ideia Bruno?
>
> Em 16 de dezembro de 2011 09:46, Bruno Albuquerque
> <bruno.albuquerque@gmail.com> escreveu:
>
>> Cara, mais uma vez. O problema *é* com a chave estrangeira. O Erro diz
>> exatamente isso. Rode esse query:
>>
>> SELECT * FROM CONSTRUTORA WHERE _id = 2
>>
>> Isso retorna algo?
>>
>> -Bruno
>>
>> 2011/12/15 Júlio Cesar Bueno Cotta <juliocbcotta@gmail.com>:
>> > Pessoal..testei aqui...e nada mudou..
>> > Coloquei "no action" e tb tentei com "restrict" em todas as tabelas
>> > (tanto
>> > no on update quanto no on delete) para ver se funcionava..e nada..
>> > continuou
>> > dando o mesmo erro..coloquei auto incremento em todas as tabelas de
>> > chave
>> > simples e tb não mudou nada..se tiverem mais alguma ideia..eu gostaria
>> > de
>> > ouvir (ler).. :-D
>> >
>> > E somente a titulo de curiosidade..quando desligo a verificação de chave
>> > extrangeira no SQLite..tudo funciona..aparentemente..
>> >
>> > Abraço.
>> >
>> > 2011/12/15 Júlio Cesar Bueno Cotta <juliocbcotta@gmail.com>
>> >>
>> >>
>> >>
>> >> Em 15 de dezembro de 2011 17:17, Diego Rocha <diego@diegosrocha.com.br>
>> >> escreveu:
>> >>
>> >>> Diego,
>> >>>
>> >>> Autoincrement você não coloca como null, pois como ele disse, no
>> >>> SQLite o
>> >>> "Integer Primary Key" vai funcionar como autoincrement. Quando ele não
>> >>> passar valor pro insert (ao invés de null vai usar o incremento) na
>> >>> chave.
>> >>>
>> >> Por definição, uma chave primaria não pode ser null..ela é o ponto de
>> >> referencia único (no sentido que identifica unicamente uma linha na
>> >> tabela)
>> >> e por tanto qualquer coluna marcada como sendo primary key..nunca pode
>> >> ser
>> >> marcada como "null". Tem haver com a integridade da tabela..
>> >>
>> >>> Você disse que o problema acontece só no update não é?
>> >>
>> >> Sim.
>> >>>
>> >>> Será que o problema não é por você estar usando cascade do update?
>> >>> Faz um teste com a tabela sem "on update cascade" e vê se funciona.
>> >>>
>> >> Vou testar hoje a noite e dou um feedback..estou usando on delete
>> >> restrict
>> >> e on update cascade em todas as FK.. ao meu ver..isso não deveria ser
>> >> um
>> >> problema..mas vai que é neh. :-D
>> >> Assim que testar aviso aqui..
>> >> Abraço e muito obrigado pelas dicas!
>> >>>
>> >>> Atenciosamente,
>> >>> Diego Rocha
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Júlio Cesar Bueno Cotta
>> >> Bacharel em Ciência da Computação pela UFV
>> >> Mestrando em Ciência da Computação pela UFABC
>> >>
>> >
>> >
>> >
>> > --
>> > Júlio Cesar Bueno Cotta
>> > Bacharel em Ciência da Computação pela UFV
>> > Mestrando em Ciência da Computação pela UFABC
>> >
>
>
>
>
> --
> Júlio Cesar Bueno Cotta
> Bacharel em Ciência da Computação pela UFV
> Mestrando em Ciência da Computação pela UFABC
>
--
Júlio Cesar Bueno Cotta
Bacharel em Ciência da Computação pela UFV
Mestrando em Ciência da Computação pela UFABC
Bacharel em Ciência da Computação pela UFV
Mestrando em Ciência da Computação pela UFABC






0 comentários:
Postar um comentário