Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   Como Utilizar La Funcion Desc Para Hacerla Parte De Un Query (https://www.clubdelphi.com/foros/showthread.php?t=28919)

JOTAAB 06-01-2006 18:25:07

Como Utilizar La Funcion Desc Para Hacerla Parte De Un Query
 
SI ALGUIEN PUDIERA AYUDARME EN LO SIGUIENTE SE LO AGRADECERE MUCHO.

LO QUE NECESITO ES UTILIZAR LA FUNCION DESC DE ORACLE COMO PARTE DE UN QRY PARA CONDICIONAR EL TAMAÑO DEL CAMPO EN DELPHI , PARA QUE EL USUARIO NO ESCRIBA MAS CARACTERES DE LO PERMITIDO Y PARA FACILITAR EL MANTENIMIENTO DE LA APLICACION SIN NECESIDAD DE MODIFICAR LA PANTALLA DE CAPTURA Y PARA HACER LAS COSAS MAS RAPIDO

INTENTE LO SIGUIENTE PERO NO FUNCIONA

procedure TFORM1.FormShow(Sender: TObject);
var QryConsulta:TSQLQuery;
begin
QryConsulta:=TSQLQuery.Create(nil);
with QryConsulta do
Begin
SQLConnection:=DATAMOD.CONEXION;
sql.Clear;
sql.Add('desc ESQUEMA1.TABLAPRUEBAS');
Open;
//SI EL CAMPO BUSCADO SE LLAMA OBSERVACIONES ENTONCES
if trim(Fieldbyname('Nombre').AsString)='OBSERVACIONES' then
Begin
//COPIA EL TAMAÑO DEL CAMPO
Memobservacion.MaxLength:=strtoint(copy(trim(Fieldbyname ('Nombre').AsString),10,4));
End
Else
next;
End;
QryConsulta.free;
end;

AGRADECERE MUCHO SUS COMENTARIOS.
PD. GRACIAS A TODO EL FORO

delphi.com.ar 06-01-2006 18:32:22

Si no me equivoco el comando DESC solo es interpretado desde la consola (SqlPlus), pero si puedes obtener la información que muestra DESC accediendo al diccionario de datos, por ejemplo mediante el uso de las vistas: USER_TABLES, SYS_TABLES, USER_TAB_COLUMNS, SYS_TAB_COLUMNS.
Otra opción, posiblemente la mas adecuada para lo que quieres hacer, puede ser acceder a las propiedades de los campos, una vez que tengas la consulta abierta, utilizando el objeto TField.
Código Delphi [-]
Edit.MaxLength:= DataSet.FieldByName('CAMPO').DisplayWidth;

PD: Es importante para participar en el foro respetar la Guía de Estilo

Saludos!

JOTAAB 06-01-2006 18:41:25

Gracias
 
Te Lo Agradesco Mucho Federico Voy A Intentarlo A Ver Que Pasa.


La franja horaria es GMT +2. Ahora son las 06:51:56.

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