[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