So, I've read about some methods of damming a river on DF wiki, but all of 3 them seem a little bit to complicated:
1. Using magma is cool, but if you don't have a volcano on you map - finding magma and pumping it to the surface takes some time and effort.
2. Waiting a river to freeze is cool too, but potentially dangerous (river thawing unexpectedly, killing dwarves/flooding stuff/etc.) and if you're playing in a warm biome - it just won't ever freeze.
3. Drying river into an underground water source probably kills FPS. Drying it into channel probably does the same. Unless you have an aquifier.
I've tried to find an alternative, simple and universal method to dam a river, so here it is:
1. The initial setup: basically, that's a small room with some screw pumps and a hole in the floor some tiles upstream. Pumps pump from the north to the south. The river is 4 tiles wide, so there are 4 screw pumps and 4-tiles wide hole in the floor.
2. This image shows this setup working:
3. That's what happens one level below: water is moved back upstream from above.
4. That's one level above: there are two windmills powering screw pumps through the holes in the ceiling.
Well, that's it, pretty much.
Now you can build a wall to dam the river permanently. Or build some cages in a dried river bed and flood it to capture some live carps. Or something else. You'll figure on your own, I guess.