// COMPARE TWO FOLDERS tab update grid routine
procedure TfrmSQLiteDBases.UpdateGridCOMPARETWOFOLDERSTAB(Sender: TObject);
begin
try
sqlCOMPARETWOFOLDERS.Close;
//sqlCOMPARETWOFOLDERS.SQL.Text := 'SELECT * FROM TBL_COMPARE_TWO_FOLDERS'; //DS (original)
sqlCOMPARETWOFOLDERS.SQL.Text:= //DS (new)
'select row_number() over (order by FileName) rownum, * '+
'from ( '+
'select a.FileName,a.FilePath as FilePathA, a.FileHash as FileHashA, '+
' b.FilePath as FilePathB, b.FileHash as FileHashB '+
'from TBL_COMPARE_TWO_FOLDERS a '+
' left join TBL_COMPARE_TWO_FOLDERS b on a.FileName=b.FileName and b.FilePath=:FilePathB '+
'where a.FilePath=:FilePathA '+
'union '+
'select c.FileName,d.FilePath as FilePathA, d.FileHash as FileHashA, '+
' c.FilePath as FilePathB, c.FileHash as FileHashB '+
'from TBL_COMPARE_TWO_FOLDERS c '+
' left join TBL_COMPARE_TWO_FOLDERS d on c.FileName=d.FileName and d.FilePath=:FilePathA '+
'where c.FilePath=:FilePathB)';
sqlCOMPARETWOFOLDERS.ParamByName('FilePathA').AsString:=FFilePathA; //DS (new)
sqlCOMPARETWOFOLDERS.ParamByName('FilePathB').AsString:=FFilePathB; //DS (new)
SQLite3Connection1.Connected := True;
SQLTransaction1.Active := True;
sqlCOMPARETWOFOLDERS.Open; [b]// ERROR IS THROWN HERE[/b]
frmDisplayGrid3.dbGridC2F.Options := frmDisplayGrid3.dbGridC2F.Options + [dgAutoSizeColumns];
except
on E: EDatabaseError do
begin
MessageDlg('Error','A database error has occurred. Technical error message: ' + E.Message,mtError,[mbOK],0);
end;
end;
end;
[/pascal]