[firebase-br] Tabelas de sistemas - Tipo dos campos..

Leandro Pineda lbpineda em gmail.com
Qua Maio 9 17:56:44 -03 2007


Acho que vai resolver seu problema...

QueryAux.Close;
  QueryAux.sql.Clear;
  QueryAux.sql.Add('select f.rdb$field_name Field_Name,
t.rdb$type_nameField_Type,
f.rdb$field_length Field_Size, f.rdb$null_flag Field_NotNull from RDB$FIELDS
f');
  QueryAux.sql.Add('join rdb$types t on f.rdb$field_type = t.rdb$type and
t.RDB$FIELD_NAME = ' + QuotedStr('RDB$FIELD_TYPE') );
  QueryAux.sql.Add('where not f.RDB$FIELD_name Starting ' + QuotedStr('RDB')
);
  QueryAux.sql.Add('Order By 1');
  QueryAux.Open;
  mdDomains.EmptyTable;
  while not QueryAux.eof do
  begin
    if Trim(QueryAux.FieldByName('Field_Type').AsString) = 'VARYING'   then
Tipo := 'VarChar'   else
    if Trim(QueryAux.FieldByName('Field_Type').AsString) = 'TEXT'      then
Tipo := 'Char'      else
    if Trim(QueryAux.FieldByName('Field_Type').AsString) = 'LONG'      then
Tipo := 'SmallInt'  else
    if Trim(QueryAux.FieldByName('Field_Type').AsString) = 'SHORT'     then
Tipo := 'Integer'   else
    if Trim(QueryAux.FieldByName('Field_Type').AsString) = 'INT64'     then
Tipo := 'Numeric'   else
    if Trim(QueryAux.FieldByName('Field_Type').AsString) = 'DATE'      then
Tipo := 'Date'      else
    if Trim(QueryAux.FieldByName('Field_Type').AsString) = 'TIME'      then
Tipo := 'Time'      else
    if Trim(QueryAux.FieldByName('Field_Type').AsString) = 'TIMESTAMP' then
Tipo := 'TimesTamp' else
    if Trim(QueryAux.FieldByName('Field_Type').AsString) = 'BLOB'      then
Tipo := 'Memo'      else
      Tipo := QueryAux.FieldByName('Field_Type').AsString;

Att,
Leandro.

Em 09/05/07, Marcio Roberto Chiaveli <marcio.chiaveli em gmail.com> escreveu:
>
> Ola pessoal,
>
> Estou precisando listar num select todos os campos de uma determinada
> tabela
> e seus respctivos tipos.
> Os campos eu consegui extrair, mas os tipos não estou conseguindo, alguem
> sabe como posso fazer isso?
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista