Ver mensagens sem resposta | Ver tópicos ativos Hoje é 27 Jan 2020, 23:24



Responder Tópico  [ 9 Mensagens ] 
 Duvida sobre funconalidades do sqllite 
Autor Mensagem
What is Android?
What is Android?

Data de registro: 13 Abr 2011, 12:31
Mensagens: 9
Mensagem Duvida sobre funconalidades do sqllite
Pessoal bom dia,estive lendo a documentação do sqlite,e fiquei com algumas duvidas,o sqllite no android suporta todas as funcionalidades que consta na documentação,tipo view,trigger,chave estrangeira,transação etc??? Alguem ja testou estas funcionalidades???


13 Abr 2011, 12:38
Perfil
What is DDMS?
What is DDMS?

Data de registro: 11 Jan 2011, 14:07
Mensagens: 31
Mensagem Re: Duvida sobre funconalidades do sqllite
Então cara, todos os objetos funcionam sim,
só não esqueça de cria-los no OnCreate do seu SqlOpenHelper, tal como as tabelas.
as chaves estrangeiras também funcionam quando se usam as relações nos modelos..

_________________
http://developdaily.wordpress.com/
http://code.google.com/p/droidpersistence
http://code.google.com/p/droidsoapclient


13 Abr 2011, 15:13
Perfil
What is Android?
What is Android?

Data de registro: 13 Abr 2011, 12:31
Mensagens: 9
Mensagem Re: Duvida sobre funconalidades do sqllite
Então cara,vou fazer uns testes até o fim de semana,porem olhando a documentação antes de iniciar os testes li esta info na pagina do sqlite(http://sqlite.org/foreignkeys.html#fk_enable),de qqr forma fiz um teste inicial criando uma tabela com chave estrangeira e não deu erro,porem teria q ter dado erro,pois fiz referencia a uma tabela que nao existe.
Citação:
"CONSTRAINT cobranca_cli_fk FOREIGN KEY(cod_cobranca) REFERENCES tabCobranca(id)

de qqr forma farei mais testes.


13 Abr 2011, 15:48
Perfil
What is DDMS?
What is DDMS?

Data de registro: 11 Jan 2011, 14:07
Mensagens: 31
Mensagem Re: Duvida sobre funconalidades do sqllite
rrc,

Realmente o sqlite não valida se há o objeto criado, mesmo quando se liga a foreign key.

Mas como na documentação, tente gravar num campo fk, uma chave que não exista na outra tabela por exemplo, pois neste caso deverá subir alguma exceção.

_________________
http://developdaily.wordpress.com/
http://code.google.com/p/droidpersistence
http://code.google.com/p/droidsoapclient


13 Abr 2011, 23:14
Perfil
What is Android?
What is Android?

Data de registro: 13 Abr 2011, 12:31
Mensagens: 9
Mensagem Re: Duvida sobre funconalidades do sqllite
Entao cara,acabei de fazer um teste e só subiu a exceçao depois que entrei no shell e usei o comando PRAGMA foreign_keys = ON;,o ruim é q não achei uma forma de definir este suporte usando a API, caso vc ou alguem saiba posta o codigo ai p gente.


13 Abr 2011, 23:35
Perfil
What is DDMS?
What is DDMS?

Data de registro: 11 Jan 2011, 14:07
Mensagens: 31
Mensagem Re: Duvida sobre funconalidades do sqllite
Ah o código do pragma usando a api vc terá de fazer o seguinte:

no OnOpen da classe OpenHelper vc pode adicionar o comando :


public void onOpen(SQLiteDatabase db) {
        super.onOpen(db);
          if (!db.isReadOnly()) {
              db.execSQL("PRAGMA foreign_keys=ON;");
              Cursor c = db.rawQuery("PRAGMA foreign_keys", null);
                 if (c.moveToFirst()) {
                     int result = c.getInt(0);
                 }
                 if (!c.isClosed()) {
                        c.close();
                 }
          }
    }
 


A prática que vejo e uso é essa..

_________________
http://developdaily.wordpress.com/
http://code.google.com/p/droidpersistence
http://code.google.com/p/droidsoapclient


13 Abr 2011, 23:50
Perfil
What is Android?
What is Android?

Data de registro: 13 Abr 2011, 12:31
Mensagens: 9
Mensagem Re: Duvida sobre funconalidades do sqllite
Isso mesmo cara,ja tinha feito desta forma,dando um override no onOpen,porem como estava com o shell aberto,eu estava cirando o banco e indo no shell e executava o comando e sempre me retornava 0,ou seja sem suporte a fk,porem ja estava habilitado,de qqr forma muito obrigado pela sua atenção.
Sucesso p vc.


14 Abr 2011, 00:30
Perfil
What is Android?
What is Android?

Data de registro: 20 Jun 2011, 11:00
Mensagens: 1
Mensagem Re: Duvida sobre funconalidades do sqllite
E aí moçada, blz...

Aqui estou tentando forçar uma exceção de fk no SQLite mas, ele não está aceitando...

Não sei se o código que utilizei para criar o bd está certo... se alguém puder dar um help aí...

CREATE TABLE tarefatable (_id INTEGER NOT NULL PRIMARY KEY,tarefa TEXT NOT NULL,STATUS INTEGER NOT NULL);

CREATE TABLE atividadetable (_idatv INTEGER NOT NULL PRIMARY KEY,atividade TEXT NOT NULL,atvstatus INTEGER NOT NULL,fk_task INTEGER NOT NULL,
FOREIGN KEY(fk_task) REFERENCES tarefatable(_id) ON UPDATE CASCADE ON DELETE CASCADE);

Coloco um valor de entrada na fk_task, que não existe um _id e o SQLite aceita.... isso não poderia aconter
o SGBD deveria lançar uma exceção de integridade ref . . .

Alguém sabe se o codigo para criação do bd acima está correto ???
:?:


20 Jun 2011, 11:13
Perfil
Hello World!
Hello World!

Data de registro: 19 Abr 2012, 17:11
Mensagens: 21
Mensagem Re: Duvida sobre funconalidades do sqllite
Também não consegui funcionar, botei o PRAGMA, na minha classe classe que extends SQLiteOpenHelper
mas ao deletar um item que possuir FK, não esta levantando exceção
ou no delete não funciona?
Alguém pode explicar mais detalhadamente?
Valeu.


28 Mai 2013, 20:07
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 9 Mensagens ] 

Quem está online

Usuários vendo este fórum: (_FM_), adenilsonsena, adilson, AdrianoMM, aechiara, afpcp, alex, alexandre, Alexsandro Tirloni, Anderson MarkZ, Andre Brito, andrelom, Androidthebest, antoniodourado, apoena, ariostorecco, Avelino Mateus Neto, Berbert, Beru Lars, Bitetti, blurkness, BMaia, bocajunior88, brenno, Bruno, brunogh, cabelo, Cajux, cariabs8, Carlos, Carlos Almeida, Cassius, Celso Jr., cfranca, china, Clauber, cleiton_maciel, Clone Trooper, Corneta, Costa, dannieltec, dbispo, Deiapinh, dentimskol, Diego Rufino, Dorpho, eduzortea, emersonbarros, erikopa, eXagon, fabric01, fabrizior, felipecomp19, flashking, frances135, gapler, genildof, geovanebg, Guilherme Cobain, gutem25, heliopassos, henrikesilva1, Henrique Ferraz, inaciofernandes, ismaelbpaiva, iuri_freire, jacquesbica, jairodealmeida, Jenius, Jless@, Josinhaz, juliancesar, juniorfranca, Juniorvs, kidush, kpinheiro, laucode, lazarodm, levita, Lindberg, luiz, marianatallas, Marlus Dias Silva, MpassosT, nightwatch, nocivus, nrsf, Nute Gunray, Odigooogle™, oliverlessa, onedroid, paulosantos, pbcjunior, persiomotta, pfsmorigo, phpower1, pumadeejay, pxcx, Qui-Gon Jinn, Rafael, raninhofernandes, reginaldo, renan.fernandes, renata, rerp7, ricdigital, Roberto, robsonoracle, rogerio.alcantara, Roney dos Santos, rsl_master, Samuka, SERGIO RODRIGUES, SirBagda, slackware, srmoreira, srsilveira, Teodoro, the_hulk_knifer, tiagofalcao, unnamedd, valaszek, Vania, wcaciano, weber, Webnet, Wryel, xGambit, zorieuq e 12 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi