 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Lun 07 Jul, 2008 8:46 pm Asunto: Pregunta tonta de DataType |
|
|
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 |
|
 |
Tor Master


Registrado: 22 Mar 2005Mensajes: 269Ubicación: obera, misiones, argentina
|
Publicado: Mar 08 Jul, 2008 12:11 am Asunto: |
|
|
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 |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Mar 08 Jul, 2008 10:42 am Asunto: |
|
|
Buenas,
Y como hago eso?
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mar 08 Jul, 2008 11:19 am Asunto: |
|
|
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:
} |
_________________
 |
|
| Volver arriba |
|
 |
Carlos J. Fernandez Master


Registrado: 27 Oct 2004Mensajes: 574
|
Publicado: Mar 08 Jul, 2008 11:29 am Asunto: |
|
|
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
Un abrazo.
Carlos |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mar 08 Jul, 2008 5:30 pm Asunto: |
|
|
Intenta usar la propiedad ->FieldKind en lugar de ->DataType
Saludos. _________________
 |
|
| Volver arriba |
|
 |
Tor Master


Registrado: 22 Mar 2005Mensajes: 269Ubicación: obera, misiones, argentina
|
Publicado: Mar 08 Jul, 2008 6:43 pm Asunto: |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|