Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Error al agregar indice en ClientDataSet (https://www.clubdelphi.com/foros/showthread.php?t=78146)

Jere_84 23-03-2012 15:41:14

Error al agregar indice en ClientDataSet
 
Hola!,tengo un problema cuando intento agregar un indice en tiempo de ejecución:

Código Delphi [-]
 ClientDataSet.Addindex('FechaCliente', 'Fecha', [ixNonMaintained]);

Eh visto este código en algunas paginas de ejemplo pero no me compila me dice: E2003 Undeclared identifier: 'ixCaseInsensitive'
Utilizo Delphi 2010.

¿Cual puede ser el error? :confused:

manuc 23-03-2012 17:38:20

Hola,

No puedo probarlo con delphi 2010, pero puede probar a añadir la unidad DB en los uses.


Código Delphi [-]
{ TIndexDef }

  TIndexOption = (ixPrimary, ixUnique, ixDescending, ixCaseInsensitive,
    ixExpression, ixNonMaintained);
  TIndexOptions = set of TIndexOption;

¿Podrías probarlo?

Un saludo.

ecfisa 23-03-2012 18:16:18

Hola.

Como bién te comenta manuc, la definición de TIndexOptions está en la unit DB, por lo que esta tendría que estar incluida.

Otra cosa que veo es que en tu código faltan algunos parámetros en la llamada a AddIndex. La sintáxis es:
Cita:

procedure AddIndex(const Name, Fields: string; Options: TIndexOptions; const DescFields: string = ''; const CaseInsFields: string = ''; const GroupingLevel: Integer = 0 );
Usando tu código sería mas o menos así:
Código Delphi [-]
  ClientDataSet1.AddIndex('FechaCliente', 'Fecha' ,[ixNonMaintained], '', '', 0);

Un saludo.

Al González 23-03-2012 18:23:17

ecfisa: los últimos tres parámetros son opcionales (con valor predeterminado), así que está bien si no son especificados. :)

Saludos.

ecfisa 23-03-2012 18:27:35

Cita:

Empezado por Al González (Mensaje 428323)
ecfisa: los últimos tres parámetros son opcionales (con valor predeterminado), así que está bien si no son especificados. :)

Saludos.

Y luego de tanto tiempo de usarlos me vengo a enterar... :(

Saludos. :)

Jere_84 23-03-2012 21:45:25

Funciona!
 
Gracias es cierto faltaba la unit DB en la clausula uses!!

Que buen componente el ClientDataSet. :D


La franja horaria es GMT +2. Ahora son las 20:03:16.

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