Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Error en un Case....al tratar de copiar registros (https://www.clubdelphi.com/foros/showthread.php?t=26676)

ilichhernandez 31-10-2005 02:46:20

Error en un Case....al tratar de copiar registros
 
Les cuento, tengo una tabla llamada comparacion, la cual tiene n registros, estos registros tienen un campo llamado tipo, el que puede tomar solo ciertos valores ( 'funcional','quimico','fisico','micro'), entonces debo enviar cada registro a su tabla especifica, tquimico,tfisico,tmicro,tfuncional, he intentado con el codigo siguiente....


Código Delphi [-]
While (not dm.tcomparacion.Eof) Do
    Begin
    temp := dm.tcomparacion.FieldByName('tipo').AsString;
    Case  temp of
    'quimico'       :Begin
                      end;
    'fisico'        :Begin
                     end;
    'micro'         :Begin
                     end;
    'funcional'     :Begin
                     end;
     end; //case
    end; //while

Pero me lanza estos errores.... agradeceria muchisimo que alguien pudiera guiarme a concluir esta operacion.....


[Error] Unit10.pas(1239): Ordinal type required
[Error] Unit10.pas(1241): Incompatible types: 'Integer' and 'String'
[Error] Unit10.pas(1243): Incompatible types: 'Integer' and 'String'
[Error] Unit10.pas(1245): Incompatible types: 'Integer' and 'String'
[Error] Unit10.pas(1247): Incompatible types: 'Integer' and 'String'


Desde ya muchas gracias
ilich Hernandez

Héctor Randolph 31-10-2005 03:14:14

El mensaje de error se debe a que la sentencia CASE no trabaja con cadenas.

Si quieres hacer este trabajo deberías hacer que tipo sea un valor entero.

A cada tipo asignale un valor

0=quimico
1=fisico
2=funcional , etc.

Otra forma de hacerlo sería utilizar IF en lugar de CASE.

Un saludo.

Neftali [Germán.Estévez] 31-10-2005 08:29:16

Utiliza IF en lugar de CASE; Como bien dicen los mensajes no puedes utilizar CASE con Strings.

ilichhernandez 31-10-2005 12:26:46

Muchas GRacias....
 
Gracias..... les seguire el consejo....

ilich hernandez


La franja horaria es GMT +2. Ahora son las 17:57:22.

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