No. That will not work.
First, folders is (assumed to be) a dataset descendant, possiblty TSQLQuery. If you'd like to change SQL text of it, and the content is lost. So you have to use different query objects. So
folders2.SQL.Text := 'UPDATE folders SET fldDate = DATETIME(''now'',''localtime'') '+
' WHERE fldID = :fldid;';
folders.first;
repeat
................
folders2.Close;
folders2.ParamByName('fldid').AsString := thisID;
folders2.ExecSQL;
folders.Next;
end;
Second, not sure whether tis is your intention, but even you may change the content of database within loop of an open dataset, then changes will not be reflected at the open dataset itself. You have to commit changes first and reopen it with a new transaction.