Содержание
SQL запросы к локальным данным
К датасетам (объект Dataset) и таблицам на формах (объект Table) можно писать SQL запросы.
Select From выражения From :объект Where условие Order By выражения
Procedure OnCreate; Var Data : Dataset Of Record Name:String; Age : Integer; End; Data1 : Dataset Of Record X:String; Z : Integer; End; i : Integer; Begin For i:=0 To 20 Do Begin Data.Append; Data[i].Name := Chr(Ord('A')+Random(26)); Data[i].Age := Random(4)+1; End; Data1 := (Select '['+Name+Name+']', Age From :Data Where Age<>2 Order By -Age, Name); Warning(ToStr(Data1)); End;
Delete From :объект Where условие
Пример с датасетом:Procedure OnCreate; Var A : Dataset Of Record A : String; End; Begin A[A.Append].a := 'a'; A[A.Append].a := 'c'; A[A.Append].a := 'b'; A[A.Append].a := 'd'; (Delete From :A Where A<='b'); Warning(ToStr(a)); End;Пример с таблицей на форме:
Procedure OnCreate; var d : dataset; i : integer; Begin for i:=0 to 100 Do begin Table.append; Table[i].A := i+1; Table[i].B := random(100); end; (Delete From :Table Where A>10); End;