Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2005
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Question 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
Responder Con Cita
  #2  
Antiguo 31-10-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
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.
Responder Con Cita
  #3  
Antiguo 31-10-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Utiliza IF en lugar de CASE; Como bien dicen los mensajes no puedes utilizar CASE con Strings.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 31-10-2005
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
ilichhernandez Va por buen camino
Muchas GRacias....

Gracias..... les seguire el consejo....

ilich hernandez
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:07:05.


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
Copyright 1996-2007 Club Delphi