Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Recorrer Campos de Un Registro (https://www.clubdelphi.com/foros/showthread.php?t=27449)

Jvilomar 21-11-2005 14:21:54

Recorrer Campos de Un Registro
 
Saludos mis amigos...

Mi pregunta es la siguiente: tengo una tabla con ciertos datos... y necesito realizar unas operaciones registro a registro donde a cada registro necesito recorrer ciertos campos para actualizar unos datos. Me explico.. por ejemplo tengo la tabla1 y en ella los campos codigo,mes1,mes2...mes12 ahora bien lo que necesito es recorrer todos los meses para ver sis dos o mas de los campos meses concecutivos tienen el mismo valor para entonces hacer una especie de agrupamiento. me gustaria una idea aproximada de cual seria la mejor forma de realizar esto... tengo SQL Server 2000 y Delphi 6.

Gracias Anticipadas...

Neftali [Germán.Estévez] 21-11-2005 15:29:01

Deberías ser un poco más concreto; Preguntas por la idea para realizarlo, pero no comentas si tienes problemas en algo concreto, si has hecho algo o todavía no has empezado...

La idea genérica es fácil.
(1) Recorre la tabla (whie con condición (not eof))
(2) Para cada registro consulta el valor de los campos: Tabla1.FieldByName(...)
(3) Y luego haz lo que necesites.
(NOTA) SQLServer + D6; La mejor forma de acceder es vía ADO; TADOConnection + TADOTable.

Si la pregunta no es más concreta, la respuesta tampoco pueder serlo. :(

Jvilomar 21-11-2005 20:46:11

Perdona... neftali... tienes razon...

El problema radica en que en realidad no eh podido enfocarme en como realizarlo. o sea.. estoy pensando en groups y cosas asi... habia pensado algo parecido a lo que dices.. lo de recorrer la tabla lo se.. eso seria registro a registro, dentro del bucle while not table.eof lo que deseo es recorrer los campos del registro en cuestion... pero habia pensando en por ejemplo como son 12 meses recorrer los campos con un for. De todos modos gracias.. tratare de hacerlo por mi mismo y luego entonces pondre la pregunta...

:o

Xianto 22-11-2005 09:06:14

Lo que dice Neftali del While lo necesitas, para que no te de error, más alla de eso me... imagino que buscas algo como esto:

Código:

While Not ADOQuery.Recordset.EOF Do
  begin
        For x := 0 to ADOQuery.Recordset.Fields.Count -1 Do
          begin 
                valor_campo        := ADOQuery.Recordset.Fields[x].Value;
                nombre_campo := ADOQuery.Fields[x].DisplayName;
                tipo_campo          := ADOQuery.Fields[x].DataType;
          end;
        ADOQuery.Recordset.MoveNext;
  end;

Bue, saludetes !


La franja horaria es GMT +2. Ahora son las 08:27:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi