Fórum Select #341848

16/05/2007

0

Olá, tenho uma select que me retorna X linhas ou 300 linhas, como faço para por esses dados dentro de um array?


Rzzanatta

Rzzanatta

Responder

Posts

16/05/2007

Rjun

Abra o TQUERY e faça um loop do inicio ao fim dos registros e adicione o que você quer dentro do seu array. Mais ou menos isso.


Responder

Gostei + 0

17/05/2007

Fabiano Góes

Acho que alguma coisa desse tipo pode resolver

var
  SeuArray: array of string;
begin
  Query.Open;
  Query.First;
  SetLength(SeuArray, Query.RecordCount);
  while not Query.Eof do
  begin
    SeuArray[Query.RecNo-1] := Query.FieldValues[´CampoDaTabela´];
    Query.Next;
  end;
  Query.Close;
  ShowMessage(´Array preencido !!!´);
end;


abraço !!!!


Responder

Gostei + 0

17/05/2007

Rzzanatta

entao tenho essa sql, na query, e como faço agora pra inserir os registros da query nessa linha que vc colocou?
[b:d7d11e677c]ar[a-1] := dtmmovimento.Query1.FieldValues[´campotabela´];[/b:d7d11e677c] ?
eu teria que montar um vetor né? pois sao varios campos que ele me traz por linha, de varias tabelas.



SELECT fi.CO_FICHAPREVENTIVA ficha,fi.NU_TEMPOPREVISTO,p.NO_PERIODO AS periodo,f.CO_CATEGORIA numcategoria,c.NO_CATEGORIA AS nomecategoria,TX_SERVICOMANUTENCAO, CO_MAQUINA ,f.NO_CATEGORIA_FICHAPREVENTIVA
FROM ifichapreventiva fi,fichapreventiva f, periodo p, categoria c
WHERE f.CO_FICHAPREVENTIVA=fi.CO_FICHAPREVENTIVA AND fi.CO_PERIODO = 3 AND f.CO_CATEGORIA = 12
AND fi.CO_PERIODO=p.CO_PERIODO AND f.CO_CATEGORIA=c.CO_CATEGORIA


Responder

Gostei + 0

17/05/2007

Rjun

Qual vai ser a utilidade disso?


Responder

Gostei + 0

17/05/2007

Fabiano Góes

é se você tem que jogar varios campos então vai ter que criar um vetor com a mesma idéia, mais eu também não entendi a finalidade de criar um vetor com os dados de uma query sendo que você ja em os dados armazenados.
mesmo assim se precisar de uma ajuda pra criar o vetor só postar ai falow, até mas !!!


Responder

Gostei + 0

17/05/2007

Rzzanatta

Bom deixa eu começar do zero entao.. acho que eu mesmo compliquei.
Vamos lá, eu tenho que montar um calendário dos serviços de manutenção, cada serviço tem seu tempo defenido, cada serviço está em uma categoria, cada categoria tem seu tempo estabelecido por dia tipo categoria X tem 100 minutos por dia. Entao, apartir dos serviços trazidos por essa sql acima, eu tenho que iserir esses dados, em uma outra tabela, só que tenho que ir somando o tempo de cada serviço e comparar se nao vai ultrapassar o tempo diario da categoria, e acrescentando a data pra ser feito esse serviço.

tipo a categoria X tem 100 min por dia, e os dois primeiros serviço já derem 100 min, os proximos serviços serao alocados com a data do outro dia, e assim por diante.

Bom acho que é isso. nao sei como faço isso, se uma select faz essas coisas ou tenho que montar algum loop no delphi, pra ficar lendo as linhas dos registros.
Obrigado.


Responder

Gostei + 0

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

Aceitar