SQLite Forum

Where to put dll in VisualStudio?
Login
The DLL goes in the same directory as the executable or in a directory in the path (unless you have specified otherwise).

Are you sure that the DLL is the same model as the executable?

32-bit DLLs will only be loaded in 32-bit processes and ignored by 64-bit processes.  
64-bit DLLs will only be loaded in 64-bit processes and ignored by 32-bit processes.  
Windows also does some weird farting about with the SYSTEM / SYSTEM32 / SYSWOW64 / Program Files / Program Files (x86) directories so it is best to not ever put anything there unless you know what you are doing.

This applies notwithstanding that the "filename" is the same.  More specifically you can have a directory called C:\\DLL32 in which the 32-bit version of the DLL is located, and a directory called C:\\DLL64 in which the 64-bit DLL is located, with both having the identical name "sqlite3.dll", and put *both* directories in the path (in any order), and Windows will (only) load whichever one is the correct model and not even try to load the "wrong one".  If no "right one" is found then it will tell you that it was not found but will not tell you that it found the "wrong one" (because it didn't).