Fórum Consulta em Banco de Dados #387728

01/10/2010

0

Ola.

O problema:

Possuo um banco de dados com estes 3 campos: ModeloCelular, Marca, Estilo, Preço.
Na minha aplicação delghi estou usando um DBGrid.

Como eu posso ler celula por celula de um DBGrid?
Eu gostária de ler a celula (1,1) depois (2,1) e assim por diante.

Eu gostária que o Dbgrid funciona-se como o StringGrid.

Isto porque:

O usuário irá escolher em 3 combox a Marca e o Estilo e Preço.

E deve ser retornado para o usuário os Registros que são mais semelhantes com o que ele selecionou.

Exemplo:

No banco de Dados temos os seguintes registros:

ModeloCelular      Marca       Estilo       Preço
   Sony AW            Sony        Slide        500,00
   Nokia B              Nokia        Flip         800,00
   LG 676               LG             Flip         100,00

O usuário no campo seleciona as seguintes opções Sony,  Slide,   100,00.

O sistema deve retornar o Modelo de celular existentes com estas caracteristicas em ordem de mais adequado.

A ordem de adequação é definida pela soma dos pesos. O campo Marca tem peso 90, o campo estilo peso 20 e o preço peso 70.

O resultado dessa consulta do usuário seria.

Modelo celular    Ordem Adequação
  Sony AW             90+20+0=110
  LG 676                80+0+0 = 80
  Nokia B               0+0+0=0






Lhugo Junior

Lhugo Junior

Responder

Posts

04/10/2010

Wesley Yamazack

Olá amigo,

Para varrer um DBGrid 1,1 - 2,1 - 3,1:

Você pode fazer um Loop usando ele, veja como :

procedure TFrmTeste.BtnTeste1Click(Sender: TObject);
var
  I: Integer;
  S : String;
begin
  for I := 0 to DBGrid1.Columns.Count - 1 do
   s := S + ' - ' + DBGrid1.Columns.Items[I].Field.AsString;

  ShowMessage(S);
end;

Att,

Wesley Y
Responder

Gostei + 0

04/10/2010

Lhugo Junior

Okay, ajudou muito obrigado.
Responder

Gostei + 0

05/10/2010

Wesley Yamazack

Olá amigo, consegui resolver teu problema  ?

Um abraço

Wesley Y
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar