If you still need this.
Assuming that you are using the ADO.Net API to access the db, I've
implemented the "Read Only" parameter (that the C++ implementation has) for
this C# implementation. You can test it using the code from this
clone http://code.google.com/r/stewartadcock-csharp-sqlite-updates/ - it
works for me with Mono on Mac OS X, and I assume it will work on Windows
with .Net even though I haven't tested that yet.
To connect to a db in read-only mode, add "Read Only=True" to your
connection string, and then connect as normal. Any attempts to write to
the db will fail.
I have also implemented the SQLite3 "FailIfMissing" parameter. If set to
true, sqlite will not create an empty db in the case that the specified uri
doesn't exist. This is also derived from the C++ version's parameter of
the same name, to improve source-level compatibility.