Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Pregunta tonta de DataType

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Pregunta tonta de DataType Responder citando

Hola a todos,

Seguro que es una chorrada pero no lo saco.

Hago lo siguiente:

AnsiString QueTipo=TQuerySQL->Fields->Fields[1]->DataType;

Me devuelve por ejemplo el tipo 14 que es ftAutoInc, hay alguna forma de que me devuelva a la variable el texto "ftAutoInc" en vez de "14"?

Es que le doy mil vuelvas y siempre saco el numero del tipo de campo, pero no consigo sacar el nombre del tipo de campo.

Un abrazo a todos.

Carlos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Hola carlos el DataType que buscas esta declarado como enum, yo colocaría en un vector la lista de nombres y con el valor que estas obteniendo, 14 por ejemplo entras en el vector y recuperas el nombre.
Código:

enum TFieldType { ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd };

saludos tor.
_________________
Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr)
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

Buenas,

Y como hago eso?

Un abrazo.

Carlos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

y por que no intentas asi




Código:
   switch(TQuerySQL->Fields->Fields[1]->DataType))
      {
         case ftSmallint:
                   {...codigo...}
             breal;
         case ftInteger:
                   {...codigo...}
             breal;
         case ftWord:
                   {...codigo...}
             breal;
         case ftCurrency:
         case ftFloat:
         case ftDate:
         case ftDateTime:
         case ftTime:
         case ftString:
      }

_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Es que por lo que estoy viendo no son los mismos tipos, en SQL Server esta el tipo VARCHAR y no existe el tipo STRING que me devuelve.

Me estoy liando Smile

Un abrazo.

Carlos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Intenta usar la propiedad ->FieldKind en lugar de ->DataType


Saludos.
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Lo del vector seria algo asi:
al vector lo pudes declarar como global.
Código:

AnsiString field_type[] = { "ftUnknown", "ftString", "ftSmallint", "ftInteger", "ftWord", "ftBoolean", "ftFloat", "ftCurrency", "ftBCD", "ftDate", "ftTime", "ftDateTime", "ftBytes", "ftVarBytes", "ftAutoInc", "ftBlob", "ftMemo", "ftGraphic", "ftFmtMemo", "ftParadoxOle", "ftDBaseOle", "ftTypedBinary", "ftCursor", "ftFixedChar", "ftWideString", "ftLargeint", "ftADT", "ftArray", "ftReference", "ftDataSet", "ftOraBlob", "ftOraClob", "ftVariant", "ftInterface", "ftIDispatch", "ftGuid", "ftTimeStamp", "ftFMTBcd" };


y para utilizarlo:
Código:

AnsiString QueTipo=field_type[TQuerySQL->Fields->Fields[1]->DataType];

saludos tor.
_________________
Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr)
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.