Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-02-2009
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 19
MaMu Va por buen camino
Detectar Tipo De Campo

Quiero detectar el tipo de campo de una tabla de mySQL, pero esta funcion que hice no me funciona:

Código Delphi [-]
 
function GetTipoCampoSQL(oQry : TZQuery; Index: Integer) : String;
var TipoField: TFieldDef;
begin
  TipoField := oQry.FieldDefs.Items[Index];
  case TipoField.DataType of
    ftUnknown:     result := 'ftUnknown';
    ftString:      result := 'ftString';
    ftSmallint:    result := 'ftSmallint';
    ftInteger:     result := 'ftInteger';
    ftWord:        result := 'ftWord';
    ftBoolean:     result := 'ftBoolean';
    ftFloat:       result := 'ftFloat';
    ftCurrency:    result := 'ftCurrency';
    ftBCD:         result := 'ftBCD';
    ftDate:        result := 'ftDate';
    ftTime:        result := 'ftTime';
    ftDateTime:    result := 'ftDateTime';
    ftBytes:       result := 'ftBytes';
    ftVarBytes:    result := 'ftVarBytes';
    ftBlob:        result := 'ftBlob';
    ftMemo:        result := 'ftMemo';
    ftGraphic:     result := 'ftGraphic';
  end;
end;

Cuales son los FieldDef de mySQL ???
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #2  
Antiguo 08-02-2009
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¡Hola!

Cita:
Empezado por MaMu Ver Mensaje
Quiero detectar el tipo de campo de una tabla de mySQL, pero esta funcion que hice no me funciona:...Cuales son los FieldDef de mySQL ???
No dices por qué no te funciona. Tampoco está claro por qué quieres que la función devuelva un String. Pero me he tomado la libertad de modificarla, para usar la propiedad Fields en lugar de FieldDefs, además de que sirva con cualquier conjunto de datos (no sólo TZQuery ):
Código Delphi [-]
Uses
  TypInfo;

Function GetTipoCampo (DataSet :TDataSet; Index :Integer) :String;
Begin
  Result := GetEnumName (TypeInfo (TFieldType),
    Integer (DataSet.Fields [Index].DataType));
End;
Claro, funcionará siempre y cuando el conjunto de datos ya tenga objetos campo (TField) en su interior.

La propiedad FieldDefs viene heredada desde la clase TDataSet para todos los componentes derivados (conjuntos de datos como TZQuery, TADOTable, TIBDataSet, etc.). Depende de cómo se use el conjunto de datos, la propiedad FieldDefs podría no estar inicializada.

Espero te sirva.

Al González.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Detectar conexión tipo/activa taita Internet 3 13-05-2015 21:43:46
Detectar tipo de impresora MAXIUM API de Windows 2 26-09-2007 16:35:17
Cambio de tipo en campo berfer Firebird e Interbase 0 23-08-2006 18:45:34
Detectar un scanner de cualquier tipo... razadi API de Windows 1 17-01-2005 00:29:04
DBGRID detectar fin de edicion de campo andrestsas Tablas planas 2 12-08-2003 17:11:02


La franja horaria es GMT +2. Ahora son las 13:49:53.


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