Code
delphi
uses
FireDAC.Comp.Client, FireDAC.Comp.Dataset, FireDAC.Stan.Param;
var
Conn: TFDConnection;
Query: TFDQuery;
begin
Conn := TFDConnection.Create(nil);
Query := TFDQuery.Create(nil);
try
Conn.DriverName := 'SQLite';
Conn.Params.Database := 'app.db';
Conn.Connected := True;
Query.Connection := Conn;
// Parameterized query (prevents SQL injection)
Query.SQL.Text := 'SELECT * FROM users WHERE age > :min_age ORDER BY name';
Query.ParamByName('min_age').AsInteger := 18;
Query.Open;
// Iterate
while not Query.Eof do
begin
ShowMessage(Query.FieldByName('name').AsString + ': ' +
Query.FieldByName('age').AsString);
Query.Next;
end;
// Execute (no result set)
Query.SQL.Text := 'UPDATE users SET active = 1 WHERE id = :id';
Query.ParamByName('id').AsInteger := 42;
Query.ExecSQL;
finally
Query.Free;
Conn.Free;
end;
end;