Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Funcion que devuelva la longitud de un campo en una SQL para BDE en Delphi7 (https://www.clubdelphi.com/foros/showthread.php?t=21560)

Kivan 20-05-2005 10:00:50

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

jachguate 20-05-2005 17:32:25

en casi cualquier motor:
Código SQL [-]
select length(campo) from tabla

hasta luego.

;)

Kivan 20-05-2005 17:56:08

Hola muchas gracias por esa función pero la he probao y no me funciona me da un error de invalid use of keyword.

marcoszorrilla 20-05-2005 18:57:40

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.

Kivan 20-05-2005 19:26:48

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.

roman 20-05-2005 20:10:49

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


La franja horaria es GMT +2. Ahora son las 22:48:17.

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