Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-05-2005
Kivan Kivan is offline
Miembro
 
Registrado: abr 2005
Posts: 17
Poder: 0
Kivan Va por buen camino
Funcion que devuelva la longitud de un campo en una SQL para BDE en Delphi7

Hola estoy intentando encontrar una funcion que me devuelva la longitud de un campo en una SQL usando BDE en Delphi7. Alguien podria decirme si existe o no esa función, y si existe podrian decirme cual es?? Muchas gracias a todos
Responder Con Cita
  #2  
Antiguo 20-05-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
en casi cualquier motor:
Código SQL [-]
select length(campo) from tabla

hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 20-05-2005
Kivan Kivan is offline
Miembro
 
Registrado: abr 2005
Posts: 17
Poder: 0
Kivan Va por buen camino
Hola muchas gracias por esa función pero la he probao y no me funciona me da un error de invalid use of keyword.
Responder Con Cita
  #4  
Antiguo 20-05-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Por lo que veo estás utilizando Paradox en donde no se soporta la sintáxis facilitada por Juan Antonio, prueba este código en su lugar. en donde te pongo 2 ejemplos posibles:
Código Delphi [-]
  procedure TForm1.Button1Click(Sender: TObject);
  begin
  Query1.Close;
  Query1.Sql.Clear;
  Query1.Sql.Add('Select * From Socios');
  Query1.Open;
  //Buscar el nombre
  ShowMessage(IntToStr(Query1.FindField('Titular').Size));
  //Partir de la columna en la que se encuentre
  ShowMessage(IntToStr(Query1.Fields[1].Size));
  end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 20-05-2005
Kivan Kivan is offline
Miembro
 
Registrado: abr 2005
Posts: 17
Poder: 0
Kivan Va por buen camino
Muchas gracias marcoszorrilla por el ejemplo, efectivamente estoy usando tablas paradox. He estado buscando las funciones que reconoce el BDE de Delphi y no habia ninguna que se encargara de contar la longitud de un campo. Al final he optado por añadir un campo mas a la tabla con la longitud del campo del que necesitaba saberla asi me ahorrare quebraderos de cabeza en un futuro. Gracias a todos por vuestra ayuda.
Responder Con Cita
  #6  
Antiguo 20-05-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Kivan
Al final he optado por añadir un campo mas a la tabla con la longitud del campo del que necesitaba saberla asi me ahorrare quebraderos de cabeza en un futuro.
Pero toma en cuenta que este campo tendrás que actualizarlo cada vez que modifiques el otro campo. Por algo length(campo) es un campo calculado.

No habiendo tal función en Paradox, puedes lograr el mismo resultado agregando un campo calculado al dataset que uses y calcularlo (valga la redundancia) en el evento OnCalcFields:


Código Delphi [-]
DataSet.FieldByName('longitud').AsInteger :=
  Length(DataSet.FieldByName('campo').AsString;

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:50:35.


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
Copyright 1996-2007 Club Delphi