That's your choice. The D7000 is newer than the D300s, takes SD cards but only one slot whereas, the D300s has two slots one for compact flash one for SD card. The D7000 is a 16.2mp while the D300s is 12.2mp. As the D300s costs more that the D7000 then it's regarded as better all round. As the D300s is a follow-on camera from the D200, which I have, then that is the one I would go for but that is my choice.