Ir para conteúdo
Fórum Script Brasil
  • 0

Pegar Valor[I] em banco de dados


luizf

Pergunta

Estou com um pequeno problema, em banco de dados.

Não obtive resposta em um outro tópico e estou quebrando a cabeça para resolver. Estou com a idéia, mas não sei como transferir para o Delphi.

É mais ou menos assim:

Tenho um banco de dados, com seus devidos campos, dois deles são "Nome" e "Tamanho", e dentro de um loop for, preciso pegar o "Nome" e "Tamanho" conforme o contador I, para comparar Tamanho com outro valor.

Ex.

var
   I, L: Integer;
   N: Real;
   X: Real;
 begin
   L:= ClientDataSet1.RecordCount; // tamanho, n° de registro
   N:= UmValorQualquer; // exemplo.

   for I:=0 to L -1 do
   begin
   
    // nesta linha preciso capturar o valor da celular na Linha[I]
    // da coluna "Tamanho"
     X:= ClientDataSet1.Valor[I]; //---> *** COMO FAZER??? ***

     if  X = N then
     begin
       ...
       ...
       ...
     end;

   end;

 end;

Só mais algumas informações, o banco de dados salvei em Data.xml, no diretório do executavel, há mais um DataModule1, onde se encontra o ClientDataSet1 e o DataSource1.

Então na verdade, seria:

X:= DataModule1.ClientDataSet1.Valor; //---> *** COMO FAZER??? ***

Então, deu para entender o que preciso?

Obrigado

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Acabei conseguindo fazer de um maneira:

procedure TFrm_Principal.Button1Click(Sender: TObject);
 var
   St: string;

 begin
   DataModule1.ClientDataSet1.Open;
   DataModule1.ClientDataSet1.First;

     repeat

       St:= DataModule1.ClientDataSet1.FieldValues['Tamanho'];

       ShowMessage(St);

       DataModule1.ClientDataSet_Itens.Next;

     until DataModule1.ClientDataSet_Itens.Eof; {finaliza ao final da tabela}


 end;

No exemplo anterior, tentei com o laço for, neste acabei usando repeat-until.

Gostaria de uma idéia melhor, se alguém tiver.

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Seria a mesma coisa

procedure TFrm_Principal.Button1Click(Sender: TObject);
var
   St: string;
   i : integer;
begin
   DataModule1.ClientDataSet1.Open;
   DataModule1.ClientDataSet1.First;

     for i := 1 to DataModule1.ClientDataSet1.RecordCount do 
     begin

       St:= DataModule1.ClientDataSet1.FieldValues['Tamanho'];

       ShowMessage(St);

       DataModule1.ClientDataSet1.Next;

     end;


end;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...