Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

johnatam.camargo

[Resolvido] minha sql

Recommended Posts

galera tenhu q fazer uma consulata usando sql

eh o sequinte:

 

 

vai ter um combobox com as opçoes codigo e nome...

quando o usuario clicar no codigo os radiobuttons teram os valores :igual,maior e menor

ex:

se o usario digitar 1 como código e escolher a opcao igual , aparecera o registro com o codigo 1

se o usario digitar 1 como código e escolher a opcao maior , aparecera os registros com o codigo maior do q 1

se o usario digitar 3 como código e escolher a opcao menor , aparecera os registros com o codigo menor do q 3

 

isso eu fiz e deu certo esta aki o código:

 

begin

qry_consulta.Active:=false; //desativando a query

qry_consulta.SQL.Clear; //apagando o que tem dentro do sql

qry_consulta.SQL.Add('select * from tbl_fornecedor where '+combobox1.Text);

 

if(combobox1.Text='cod')then

begin

if(radiogroup1.ItemIndex=0)then

qry_consulta.SQL.Add('='+edit1.Text)

else if (radiogroup1.ItemIndex=1)then

qry_consulta.SQL.Add('>'+edit1.Text)

else

qry_consulta.SQL.Add('<'+edit1.Text);

end

qry_consulta.active:=true;

 

a minha duvida é como faço c o usario escolher a opçao nome no combobox

pq no radiobutton aparecera as sequintes opções: contem,começa com,termina com

ex:

c o usuario digitar a letra A como nome e escolher a opcao "contem",aparece todos os registros q tenham a letra A

c o usuario digitar a letra A como nome e escolher a opcao "começa com",aparece todos os registros q comecem com A

c o usuario digitar a letra A como nome e escolher a opcap "termina com",aparece todos os registros q terminam com A

 

obs:eu sei q tem q usar '%' mas naum sei aonde coloco dependendo do caso

 

grato desde ja

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que montar sua query dinamicamente, carregando o radiogroup com as opções conforme a opção selecionada no seu combobox e montando seu código sql de acordo com o que deseja buscar... ou seja, você vai ter que incluir os itens do seu radiogroup de acordo com o que for selecionado no combo... é bastante simples essa parte e há exemplos pelo fórum de como fazer isso...

 

Para a pesquisa por nomes, você vai usar o comando like do sql. Se não me falha a memória, seria +/- isso seus sqls.

 

select * from tabela where campo like '%A%' => Busca pelo caracter A em qualquer parte do campo selecionado.
select * from tabela where campo like 'A%' => Busca pelo caracter A no começo do campo selecionado.
select * from tabela where campo like '%A' => Busca pelo caracter A no fim do campo selecionado.

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que montar sua query dinamicamente, carregando o radiogroup com as opções conforme a opção selecionada no seu combobox e montando seu código sql de acordo com o que deseja buscar... ou seja, você vai ter que incluir os itens do seu radiogroup de acordo com o que for selecionado no combo... é bastante simples essa parte e há exemplos pelo fórum de como fazer isso...

 

Para a pesquisa por nomes, você vai usar o comando like do sql. Se não me falha a memória, seria +/- isso seus sqls.

 

select * from tabela where campo like '%A%' => Busca pelo caracter A em qualquer parte do campo selecionado.
select * from tabela where campo like 'A%' => Busca pelo caracter A no começo do campo selecionado.
select * from tabela where campo like '%A' => Busca pelo caracter A no fim do campo selecionado.

[]'s

 

entaum cara eu sei q seria isso mesmo q você passou mais naum estou consequindo fazer isso no delphi

olhe como eu fiz:

qry_consulta.SQL.Add('select * from tbl_fornecedores where nome like %+edit1.Text+%');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

 

qry_consulta.SQL.Add('select * from tbl_fornecedores where nome like ' + QuotedStr('%'+edit1.Text+'%'));

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.