SQLiteデータベースのAUTOINCREMENT列に登録された値は、SQLiteのlast_insert_rowid関数を使って取得できます。
しかし、last_insert_rowid関数を使うとプログラムはSQLiteに密に結合してしまいます。
FireDACでは、TFDConnectionにあるGetLastAutoGenValueメソッドを使って、SQLiteデータベースのAUTOINCREMENT列に登録された取得することができます。
サンプルコードです。
// sqlite3.dllのパス
FDPhysSQLiteDriverLink1.VendorLib := 'C:\driver\sqlite3.dll';
// データベースに接続する
FDConnection1.Params.Clear;
FDConnection1.Params.Add('DriverID=SQLite');
FDConnection1.Params.Add('Database=:memory:');
FDConnection1.Connected := True;
/ /テーブルを作成する
FDConnection1.ExecSQL('CREATE TABLE TBL1(ID INTEGER PRIMARY KEY AUTOINCREMENT, F1 TEXT, F2 TEXT)');
// 行を追加する
FDQuery1.SQL.Text := 'insert into TBL1(F1, F2) values (:F1, :F2)';
FDQuery1.ParamByName('F1').AsString := 'Delphi';
FDQuery1.ParamByName('F2').AsString := 'Object Pascal';
FDQuery1.ExecSQL;
// AUTOINCREMENT列に登録された値を取得する
ShowMessage(FDConnection1.GetLastAutoGenValue('TBL1'));