Bom dia a todos,
Estou querendo fazer uma sql utilizando LIKE no SQLite. Exemplo:
select * from cliente where nome like…< aqui não sei como fica, “%”, “?” > não sei a sintaxe.
Obrigado
Fred
Bom dia a todos,
Estou querendo fazer uma sql utilizando LIKE no SQLite. Exemplo:
select * from cliente where nome like…< aqui não sei como fica, “%”, “?” > não sei a sintaxe.
Obrigado
Fred
Este select lista todos os clientes com o primeiro nome ‘Guilherme’, indepentente do Sobrenome e etc…
SELECT * FROM cliente WHERE nome LIKE 'Guilherme%'
é para o SQLite e Android, não tem uma estrutura assim:
cursor = bancoDados.query("clientes",
new String [] {"nome","endereco","telefone"},
null,//selection,
null,//selectionArgs,
null,//groupBy,
null,//having,
null);//"order by nome"//orderBy)
String pattern = "%" + nome + "%";
cursor = bancoDados.query("clientes",
new String [] {"nome","endereco","telefone"},
"nome like ?",//selection,
new String[]{pattern},//selectionArgs,
null,//groupBy,
null,//having,
null);//"order by nome"//orderBy)
Como mostraria o resultado acima numa lista?
Nesse código acima, ele seria como: select * from cliente where nome like. Correto?
Obrigado pela resposta. E como ficaria uma sql com mais de uma tabela? Por exemplo, quero saber o fornecedor do produto x
Fornecedor: Codigo_For e Nome
Produto: Codigo_Prod, Nome e Codigo_For
Opa. O código gerado vai ser o seguinte:
select nome, endereco, telefone from clientes where nome like %AlgumNome%;
Essas classes não tem mágica nenhuma, se você quiser pode usar o método rawQuery e passar o sql direto. Pra consultas mais complexas pode ser até melhor.
O componente de lista é o ListView. Você usa adapters pra popular ele. O modo mais simples de popular os dados da sua busca no seu ListView, neste caso, é usar o SimpleCursorAdapter. Ele recebe um cursor (que você já tem), um layout que representa cada linha que será exibida e mais dois atributos que indicam o mapeamento das colunas do cursor para a lista. Um exemplo simples usando um layout pronto (vai exibir a lista com o nome):
//...
onCreate(...) {
//inicializacao da activity...
String pattern = "%" + nome + "%";
cursor = bancoDados.query("clientes",
new String [] {"nome","endereco","telefone"},
"nome like ?",//selection,
new String[]{pattern},//selectionArgs,
null,//groupBy,
null,//having,
null);//"order by nome"//orderBy)
adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, "nome", android.R.id.text1);
setListAdapter(adapter);
}
Se a tela que você está criando for majoritariamente uma lista, use um ListActivity ao invés de Activity.
Abraço.
Poderia dar um exemplo com esse rawQuery? E como faria esse ListActivity?
String[] selectionArgs = {"%" + nome + "%"};
cursor = bancoDados.rawQuery("select nome, endereco, telefone from clientes where nome like ?", selectionArgs);
// a configuracao do adapter permanece igual
ListActivity é uma subclasse de Activity que apresenta algumas facilidades pra se trabalhar com ListView. Ao invés de herdar de Activity, herde de ListActivity, aí você pode usar métodos como getListView() e setListAdapter() diretamente.
Falou.
Ok, mas poderia exemplificar isso:
“ListActivity é uma subclasse de Activity que apresenta algumas facilidades pra se trabalhar com ListView. Ao invés de herdar de Activity, herde de ListActivity, aí você pode usar métodos como getListView() e setListAdapter() diretamente.”
Ajudaria muito com exemplo. O que eu quero fazer é uma campo para consulta e retornar numa lista. Uma tela com botão para chamar outra tela da consulta.
Obrigado pelos retornos.
Poderia me ajudar nessa ListActivity?
Já pensou na possibilidade de usar um ORM, tipo o AndOrm?
Como? Não entendi isso. ORM???
O que precisa para usar isso? Onde crio o banco? Preciso de duas tabelas. Clientes, Veículos e Serviços. Clientes com: Nome, Celular e Telefone. Veículos com: Id_Cliente, Veiculo, Placa e Tipo. Serviços com: Descrição e Valor. Preciso ligar Clientes com Veículos, ou seja, pesquisar por placa e trazer os veículos de um determinado cliente.
wagnerfrancisco
Estou querendo montar uma lista com o resultado da consulta e mostrar o selecionado. Esse seu código:
[code] //…
onCreate(…) {
//inicializacao da activity…
String pattern = "%" + nome + "%";
cursor = bancoDados.query("clientes",
new String [] {"nome","endereco","telefone"},
"nome like ?",//selection,
new String[]{pattern},//selectionArgs,
null,//groupBy,
null,//having,
null);//"order by nome"//orderBy)
adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, "nome", android.R.id.text1);
setListAdapter(adapter);
} [/code]
Ele mostra na lista? Como faria essa ListActivity? Pode me ajudar?