Basic SQL user database
OK, here goes:   


No. You're using using which means that the object will be disposed of in the end of the block. As part of the Dispose() method, the connection will be closed and its resources released.
Not manually, you should open another using block to cause the object to Dispose() in the end.
Thanks to the using block, when an exception occurs, the object will be disposed because you're thrown out of the block.
"Enhance" is vague...