This looks really good and clean to me as well, but I too come from a C# Background.
I think there are only a couple of things missing that I would personally like to see myself.
- Error Handling
- Constructor
there is only one thing that I would probably change.
your BuildCommand Function should not Executeopen the commandconnection. I I think that should be called inside of the execute function before you actually execute the function, it works, but it doesn't look right to me personally and if you leave it like this youopen and close should change the name ofbe done in the function to something likeExecute functions.