About SQLite
Before introducing System.Data.SQLite, we need to introduce sqlite,sqlite is a stand-alone database management system similar to access, which stores the definitions of all databases (including definitions, tables, indexes, and data itself) in a single file. And, SQLite is a C implementation of the class library, it in memory consumption, file volume, simplicity has a good performance, if the data under 10W, the query speed is quite fast.
SQLite has the following characteristics:
The standard for implementing most SQL92, including transactions (atomicity, consistency, isolation, and persistence), triggers, and most complex queries.
You can insert a string into an integer column (which may not be appropriate for some users) by not typing or checking the data that is being inserted or updated.
Supports mainstream systems such as Windows/linux/unix, and also supports embedded systems such as Android or Windows Mobile.
System.Data.SQLite
System.Data.SQLite is the enhanced version of SQLite, which can be used without the. NET Framework support because it contains an ADO 2.0 engine internally, so. NET developers can use System.Data.SQLite to easily develop. NET programs.
System.Data.SQLite and SQLite also have some limitations, such as not supporting row-level and table-level locks, when a connection to lock the database for writing data, the other database connection can only wait for the connection operation is completed after the read and write operation, Sqlite.net try to try in the timeout period multiple times.
In fact for large applications we will choose some large professional database, System.Data.SQLite and SQLite suitable for some restricted occasions, such as mobile phones. Here I tell a real experience, before I have done a small system, to analyze three Excel files, of which two are recorded about 400 or so, and the other one is about 10,000, for such a system if you use the database, even if the standalone version of Access, It would be a relatively simple matter to use the characteristics of the database after the import, because we can work with the connection query in the database, and we can use database functions for the records, but the information provided by the other party is installed on the machine although Office is installed, but only the word, Excel and Outlook, and without access, the other party does not want to install other software, Since I am not sure if I can access the. mdb file via OLE DB on a machine that does not have access installed, there is no way to read the data in Excel into a DataTable, and then analyze three of the DataTable, although many optimizations have been made, but the efficiency is still not too Ideal. For this situation, If I had known that System.Data.SQLite was much better, importing data from three Excel into the System.Data.SQLite, then using the functions provided by System.Data.SQLite was quite easy and convenient. For System.Data.SQLite, no installation is required for deployment, only one System.Data.SQLite.dll is required, and this DLL is only 866k! And it doesn't need to be registered as if it were a COM component.
System.Data.SQLite