Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 28/12/2015
D1360666 D1360666 is offline
Miembro
 
Join Date: Mar 2008
Posts: 53
Poder: 19
D1360666 Va por buen camino
mostrar datos de un campo de bd

Hola estoy desarrollando una app en Delphi, el cual cargo las tablas de diferentes bases de datos, principalmente Access.
Tengo 3 ListBox.
En el primero cargo las tablas que existen en la base de datos, seleccionando la tabla muestro en el listbox 2 los campos que contiene.
En el listbox 3 quiero cargar los datos del campo (Nombre, Tipo de dato y tamaño).
Estoy teniendo problemas con el tercer paso.

La app es para exportar tablas a una bd nueva para hacer migración a un sistema nuevo.

Desde ya agradezco la ayuda.

Saludos.
Diego.-
Reply With Quote
  #2  
Old 28/12/2015
AgustinOrtu's Avatar
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Join Date: Aug 2013
Location: Argentina
Posts: 1,858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
La clase TField tiene todo lo que necesitas

Como realizas el paso 2? Como listas los campos de una tabla?
Reply With Quote
  #3  
Old 28/12/2015
D1360666 D1360666 is offline
Miembro
 
Join Date: Mar 2008
Posts: 53
Poder: 19
D1360666 Va por buen camino
segunda parte

primero las tablas las llamo a cn.gettablenames(lstTablas.items,false)
donde CN es la conexion a la base y llamo todas las tablas pasando la lista donde va mostrar el resultado.

Segundo.
En el evento click de la lista me creo una variable String: Tabla.
Seteo la tabla seleccionada en la variable.
Luego en un TTABLE cargo la tabla seleccionada y llamo al metodo table.GetFieldNames(lstCampos.items) cargando lstCampos(listbox) que es donde muestro los campos de la tabla seleccionada.
Reply With Quote
  #4  
Old 28/12/2015
D1360666 D1360666 is offline
Miembro
 
Join Date: Mar 2008
Posts: 53
Poder: 19
D1360666 Va por buen camino
paso 3

Yo quiero habiendo seleccionado el campo de la tabla en el listbox 2 que me cargue el tipo de dato y el tamaño del campo
Reply With Quote
  #5  
Old 28/12/2015
AgustinOrtu's Avatar
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Join Date: Aug 2013
Location: Argentina
Posts: 1,858
Poder: 17
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Quote:
Luego en un TTABLE cargo la tabla seleccionada y...
Haces esto mismo, y luego Table.FieldByName(nombre). Esto te devuelve un objeto TField, del cual te van a interesar las propiedades: DataType, Precision, Size, Name, etc
Reply With Quote
  #6  
Old 29/12/2015
D1360666 D1360666 is offline
Miembro
 
Join Date: Mar 2008
Posts: 53
Poder: 19
D1360666 Va por buen camino
consulta

Muchas gracias por el aporte Agustin.
Intenté hacerlo y me funciona solamente me está complicando pasar la propiedad Datatype(Tfield) a String para mostrarlo.
Parece algo sencillo pero me ha dado errores a la hora de querer convertirlo.
A la vez en las propiedades de Datatype me aparecen una lista de propiedades de todos los tipos que maneja el delphi.
Tendré que verificar que tipo de dato es primero para mostrar el tipo recorriendo esa lista de datatypes?
Reply With Quote
  #7  
Old 29/12/2015
Osorio's Avatar
Osorio Osorio is offline
Miembro
 
Join Date: May 2003
Location: Colombia
Posts: 252
Poder: 24
Osorio Va por buen camino
Puedes hacer algo como

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  f: TField;
  tipo: String;
begin
    case f.DataType of
      ftUnknown:  tipo:= 'ftUnknown';
      ftString:   tipo:= 'ftString';
      ftSmallint: tipo:= 'ftSmallint';
      ftInteger:  tipo:= 'ftInteger';
      ftWord:     tipo:= 'ftWord';
    end;
    {
    ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, // 5..11
    ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, // 12..18
    ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, // 19..24
    ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, // 25..31
    ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd, // 32..37
    ftFixedWideChar, ftWideMemo, ftOraTimeStamp, ftOraInterval, // 38..41
    ftLongWord, ftShortint, ftByte, ftExtended, ftConnection, ftParams, ftStream, //42..48
    ftTimeStampOffset, ftObject, ftSingle); //49..51
     }
end;
Reply With Quote
  #8  
Old 29/12/2015
D1360666 D1360666 is offline
Miembro
 
Join Date: Mar 2008
Posts: 53
Poder: 19
D1360666 Va por buen camino
consulta

Muchas gracias Osorio!!
Fué la solución que me anduvo para la conversión.
Muchas gracias estimado.
Saludos a todos los que me dieron una mano, cualquier cosa en lo que pueda colaborar a las ordenes.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Mostrar 3 registro de un campo MAXIUM Tablas planas 5 27/09/2005 17:52
Mostrar campo fkLookup NickName Conexión con bases de datos 2 05/07/2005 03:50
mostrar la suma de un campo ebeltete SQL 2 04/09/2004 01:43
Mostrar un campo integer acrophet Conexión con bases de datos 4 19/08/2004 11:33
Problema al mostrar un campo DanielAlexander Impresión 13 08/01/2004 17:44


All times are GMT +2. The time now is 23:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi