Hi,
Since you tagged this with 'repear with custom query' (I assume repeater), it's most likely you've either cache on the Web Part or on the Page itself, or perhaps even in custom code if it's custom.
You need to check first where you've set this cache. And then you can add in some Cache dependencies.
docs.kentico.com/k12/.../setting-cache-dependencies
something like:
customtableitem.customtable.sampletable|all
Where the customtable.sampletable is the codename of your custom table.
In regards to your second question does it show any errors (either event log or browser -> script) the first time you hit the button? Is it actually saved if you check in another window first before hitting the save button again? It might be still loading without feedback.