Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Поле с автоматически наращиваемым значением средствами SQL

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  Lets say that we wish to create a fallawing number (Autoincrese) of an item, 
  without using the AutoIncrese filed. 
  This is usfull when for example there is more users from the same IP that log 
  in or any other things that you wish. 

  This example will show you how to do it with some checking of filled data, 
  but it can be done anyway you wish. 

  You need a Table with at least 2 fileds with number casting, and a TQUERY component. 
}


 function TForm1.GetNextNumber : integer;
 begin
  qryMain.Active := False;
  qryMain.SQL.Clear;
  qryMain.SQL.Add('Select Max(FieldToIncrease) from tblMain where (Cheking >=1);');
  qryMain.Active := True; //We executed the query 

 if qryMain.RecordCount >= 0 then
   result := qryMain.FieldByName('FieldToIncrese').AsInteger +1;
  else result := 1;
 end;

 ...

 procedure TForm1.SetNextNumber;
 begin
  //You must first see if the table is in insert/update mode before using this procedure. 
 tblMain.FieldByName('FieldToIncrese').AsInteger := GetNextNumber;
 end;
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay