PDA

Ver la Versión Completa : Como Utilizar La Funcion Desc Para Hacerla Parte De Un Query


JOTAAB
06-01-2006, 19:25:07
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, 19: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.

Edit.MaxLength:= DataSet.FieldByName('CAMPO').DisplayWidth;


PD: Es importante para participar en el foro respetar la Guía de Estilo (http://www.clubdelphi.com/foros/guiaestilo.php)

Saludos!

JOTAAB
06-01-2006, 19:41:25
Te Lo Agradesco Mucho Federico Voy A Intentarlo A Ver Que Pasa.