Autor Tópico: Pesquisa SQL  (Lida 2682 vezes)

ajritta

  • Full Member
  • ***
  • Mensagens: 202
  • Karma: +0/-0
  • A Paz do Eu
Pesquisa SQL
« Online: Outubro 22, 2009, 12:03:29 pm »
Olá amigos!

Estou desenvolvendo uma aplicação onde é necessário que eu faça uma pesquisa que retorne, por exemplo, quantos computadores possuem 1 GB de RAM.

Explicando melhor. Eu cadastro num banco de dados um inventário de computador com todas as suas informações, entre elas a memória RAM.  Preciso fazer pesquisa diversas com a memória. A questão é que se, por exemplo, eu solicitar que seja realizada uma pesquisa que me liste todos os computadores que tenham mais de 1 GB de RAM, ele também trás os de 256 MB, 512 MB, etc., ou seja, a pesquisa está interprentado o número em si (1 < 256, porém é 1 GB e 256 MB). Alguém saberia me orientar, como posso aprimorar esta pesquisa, para que ela funcione de maneira correta?!

Desde já,
Agradeço a atenção de todos.

Alex.

easwsistemas

  • Newbie
  • *
  • Mensagens: 37
  • Karma: +0/-0
Re: Pesquisa SQL
« Responder #1 Online: Outubro 22, 2009, 04:34:00 pm »
Amigo AjRitta:

Você deve salvar no banco com a menor unidade de medida possível. No caso, passe 256MB para bytes, assim, quando for fazer pesquisa de 1gb vc
pesquisa os que tem no campo da memória o valor >= (1*1024....).
Espero ter ajudado.

Emílio Ávila
www.easwsistemas.com

Davi

  • Global Moderator
  • *****
  • Mensagens: 426
  • Karma: +0/-0
Re: Pesquisa SQL
« Responder #2 Online: Outubro 23, 2009, 11:47:31 pm »
eu faria duas funções   MBtoGB e GBtoMB

to banco de dados salve tudo em MB

256 MB = 256
512 MB = 512
1 GB     = 1024
2 GB    =  2048

procedure MBtoGB(megas)

megatmp is real

megatmp = megas/1024

if megatmp >= 1 then
  return = megatmp + " " + GB
else
  return = megas + " " + MB
end

a outra vc faz o inverso

ai quando retorna o valor da pesquisa, vc roda a procedure para atualizar o campo

isso tudo para fins de exibir na janela

agora para efetuar a pesquisa, vc vai precisar estibular a unidade

o usuario vai ter que digitar 1 GB   

faz outra procedure para identificar quando existe GB ou MB e caso não exista GB ou MB diga para especificar a unidade de medida.

bom... tem varias maneiras de resolver, estou lhe dando algumas idéias

até

Davi

ajritta

  • Full Member
  • ***
  • Mensagens: 202
  • Karma: +0/-0
  • A Paz do Eu
Re: Pesquisa SQL
« Responder #3 Online: Outubro 26, 2009, 01:04:23 pm »
Amigos!

Sem palavras para agradecer!
Estas dicas me ajudarão e muito!

Obrigado mais uma vez!
Abraços,
Alex.