أرفق المثال (إذا أمكن).
أسهل طريقة - بدون تعقيدات - يمكن أن أفكر فيها هي:
تغيير N إلى Integer (إنشاء حقل آخر اسمه id يكون AUTOINC)
عبر تعليمة SQL بسطر وحيد يمكن معرفة آخر N في الجدول.
ولأن الإضافة في البداية ستعتمد على هذه التعليمة ستكون N مرتبة تصاعديا، بعد الحذف لن يكون هناك تكرار في الأرقام المعطاة للحقل (ستكون هناك فجوات بدون تكرار: مثل 1.2.3.5.7.13.25).
أسهل طريقة - بدون تعقيدات - يمكن أن أفكر فيها هي:
تغيير N إلى Integer (إنشاء حقل آخر اسمه id يكون AUTOINC)
عبر تعليمة SQL بسطر وحيد يمكن معرفة آخر N في الجدول.
ولأن الإضافة في البداية ستعتمد على هذه التعليمة ستكون N مرتبة تصاعديا، بعد الحذف لن يكون هناك تكرار في الأرقام المعطاة للحقل (ستكون هناك فجوات بدون تكرار: مثل 1.2.3.5.7.13.25).
كود :
procedure addNewUser;
var
LastN: Integer;
const
SQLText = 'SELECT top 1,1 N FROM securite ORDER BY N DESC;';
begin
ABSQuery1.SQL.Clear;
ABSQuery1.SQL.Text := SQLText;
ABSQuery1.Active := True;
LastN := ABSQuery1.Fields[0].AsInteger;
ABSTable1.Append;
ABSTable1.FieldByName('N').AsInteger := LastN + 1;
ABSTable1.FieldByName('Utilisateur').AsString := 'BlaBla';
ABSTable1.Post;
end;

![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)