Ajuda com sintaxe sqlite

12 respostas
D
String sql = "SELECT * FROM consumo"
		 * +"LEFT JOIN alimento on (consumo.id_ali = alimento.id_alimento) "
		 * +"WHERE consumo.id_usu = "+id_usu+"";

so que o problema é que nao aceita aquela parte do PreparedStamente…como posso fazer um join no sqlite???

ja olhei esse material mas nao ajudou mto http://www.shokhirev.com/nikolai/abc/sql/joins.html

12 Respostas

felipebonezi

Se eu não me engano você quiser usar um query.

db.query(...)

Olha no javadoc :slight_smile:

D

consegui descobrir isso

String sql = "SELECT FROM consumo" +"LEFT JOIN ON alimento (consumo.id_ali = alimento.id_alimento) " +"WHERE consumo.id_usu = "+id_usu+""; SQLiteStatement stm = banco.compileStatement(sql);

so que nao deu certo o resultset

fernandosavio

tem algum espaço entre “consumo” e “LEFT”?

fernandopaiva

uma dica simples…Não concatene Strings nos seus SQLs, e use PreparedStatement.

veja:

PreparedStatement stm = conexao.prepareStatement("SELECT * FROM tabela WHERE id = ?");
stm.setLong(1, codigo);

novamente, evite concatenar String sql.

[]s e boa sorte

D

mas foi isso q eu disse… o preparedstatement nao funciona com android

j0nny

:lol:

D

vou olhar… obrigado pelo link

D

dei uma olhada nos projeto disponiveis la para dowload… nao consegui identificar ainda onde tem algo ± pra eu tira ideia pra busca dados de duas tabela no banco??? como devo procurar la

j0nny

Tem um projeto exemplo aqui:

especificamente na classe seguinte, vc pode olhar um exemplo básico de busca:

Marky.Vasconcelos

j0nny:

Tem um projeto exemplo aqui:

especificamente na classe seguinte, vc pode olhar um exemplo básico de busca:
https://github.com/jonatasdaniel/andorm/blob/master/andorm-example/src/br/com/andorm/example/infra/persistence/ClienteDao.java

Olhando esse código, parece que o PersistenceManager já é um DAO. Bem simples. Eu acho que só vale a pena criar um DAO para ele caso tenha umas buscas bizarras para fazer.

j0nny

Marky.Vasconcelos:
j0nny:

Tem um projeto exemplo aqui:

especificamente na classe seguinte, vc pode olhar um exemplo básico de busca:
https://github.com/jonatasdaniel/andorm/blob/master/andorm-example/src/br/com/andorm/example/infra/persistence/ClienteDao.java

Olhando esse código, parece que o PersistenceManager já é um DAO. Bem simples. Eu acho que só vale a pena criar um DAO para ele caso tenha umas buscas bizarras para fazer.

Exatamente, nesse caso criei apenas parar enfatizar a parte de persistência mesmo, mas poderia sem problemas eliminá-la.

D

eu criei uma tabela:

String sql = "CREATE TABLE IF NOT EXISTS consumo " + "(id_consumo integer primary key," + "id_usu INTEGER NOT NULL CONSTRAINT [fk_usu] REFERENCES [USUARIO]([id_usuario]) ON DELETE NO ACTION ON UPDATE CASCADE," + "id_ali INTEGER NOT NULL CONSTRAINT [fk_ali] REFERENCES [ALIMENTO]([id_alimento]) ON DELETE NO ACTION ON UPDATE CASCADE," + "qtde DOUBLE," + "data Date);"; banco.execSQL(sql);

o q acontece… quando fiz o campo da FK com o “ON DELETE NO ACITON’” eu nao poderia conseguir excluir um registro da tabela alimento e usuario. é correto minha opniao?

Criado 5 de setembro de 2011
Ultima resposta 8 de set. de 2011
Respostas 12
Participantes 6