[Lazarus-es] definicion de un campo UNIQUE

Maximiliano Duarte maximiliano.duarte en gmail.com
Sab Ene 21 18:55:37 CET 2017


Debes crear un indice con clave única en la tabla. Y al intentar guardar va a saltar una excepción.
Sino puedes verificar con una consulta antes de guardar.

-----Mensaje original-----
De: "hfiandor via Lazarus-es" <lazarus-es en lists.lazarus-ide.org>
Enviado el: ‎17/‎01/‎2017 14:28
Para: "lazarus-es en lists.lazarus-ide.org" <lazarus-es en lists.lazarus-ide.org>
CC: "hfiandor" <hfiandor en ceniai.inf.cu>
Asunto: [Lazarus-es] definicion de un campo UNIQUE

Estimados listeros>
Yo creo las tablas sqlite en una unidad DataModulo como sigue>
 
  with fdm.tAlumnos do
  begin
    FileName := camino_BD + '\Clasificadores.db';
    PrimaryKey := 'IdAlumnos';
    if not TableExists('Alumnos') then
    begin
      FieldDefs.Clear;
      FieldDefs.Add('IdAlumnos', ftInteger);
      FieldDefs.Add('CI', ftString, 11, NOT NULL);
      FieldDefs.Add('control', ftString, 10, NOT NULL );
      FieldDefs.Add('primerapellido', ftString, 50);
      FieldDefs.Add('segundoapellido', ftString, 50);
      FieldDefs.Add('nombre', ftString, 50);
      FieldDefs.Add('direccion', ftString, 80);
      FieldDefs.Add('telefono', ftString, 30);
      FieldDefs.Add('email', ftString, 50);
      FieldDefs.Add('fechaingreso', ftString, 8);
      FieldDefs.Add('grado', ftString, 10);
      FieldDefs.Add('grupo', ftString, 10);
      CreateTable;
    end
    else begin end;
    AutoIncrementKey := True;
  end;
 
y deseo que el campo ‘control’, ademas de NOT NULL sea UNIQUE.
 
Como  se hace eso?
 
Leyendo correos viejos sobre CREATE TABLE usando SQL, me asalta una duda: Esto se puede hacer en el DataModulo?
 
Anticipándole las gracias,
 
Saludos
Ing. Héctor F. Fiandor Rosario
 
 
 
 
 
 
 
 
 
 
                                                                                                                                                                             
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20170121/531ce0c4/attachment.html>


Más información sobre la lista de distribución Lazarus-es