dbKeyState expects an integer number which is the SCAN CODE of the key pressed. (See the description in the help.) It won't accept a character, or if it does, it will convert it to integer and that won't do what you expect. (You just wrote w which is not even a character constant: without apostrophes, the system would try to interpret it as a variable name.)
So you have to know what's the scan code of the W key. You can see the full, predefined list of scan codes in the "dinput.h" header file, which you can find in the directory where you installed the DirectX SDK (by default in Program Files), in the Include subdirectory. To use the predefined constants, you can either #include dinput.h - but I found this gives compiler warnings, or you can just copy out the codes you need, and put it into your program.
In that list you can find that the scan code of W is:
In case you are wondering, 0x11 is a hexadecimal number (would be 17 in decimal). If you have this constant defined, you can use it like:
if (dbKeyState(DIK_W)) dbMoveCamera(1);
Oh yes, one more thing. Don't put a semicolon between your "if" statement and dbMoveCamera, because it separates the "if" from the next line, making them two different statements. That means that the "if" won't do anything at all, while dbMoveCamera will always be executed.
That's why I dislike it when people break one-line "if" statements into two lines because it tempts you to make mistakes like this. Write a one-line "if" statement in one line (as above), or if you like to break it, then use braces. It's a question of style but I think it's helpful.
if (dbKeyState(DIK_W)) {
dbMoveCamera(1);
}