3)创建表、读取数据等和Access或MS SQL没多大区别
//创建一个数据库文件string datasource="h:/test.db";System.Data.SQLite.SQLiteConnection.CreateFile(datasource);//连接数据库System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();System.Data.SQLite.SQLiteConnectionStringBuilder connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();connstr.DataSource = datasource;connstr.Password = "admin";//设置密码,SQLite ADO.NET实现了数据库密码保护conn.ConnectionString = connstr.ToString(); conn.Open();//创建表System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand();string sql = "CREATE TABLE test(username varchar(20),password varchar(20))";cmd.CommandText=sql;cmd.Connection=conn;cmd.ExecuteNonQuery();//插入数据sql = "INSERT INTO test VALUES('ekinglong','mypassword')";cmd.CommandText = sql;cmd.ExecuteNonQuery();//取出数据sql = "SELECT * FROM test";cmd.CommandText = sql;System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader();StringBuilder sb = new StringBuilder();while (reader.Read()){sb.Append("username:").Append(reader.GetString(0)).Append("\n").Append("password:").Append(reader.GetString(1));}MessageBox.Show(sb.ToString()); 3.2使用原生态的ADO.NET访问SQLiteusing (DbConnection conn = new SQLiteConnection( System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString)){conn.Open();DbCommand comm = conn.CreateCommand();comm.CommandText = "select * from customer";comm.CommandType = CommandType.Text;using (IDataReader reader = comm.ExecuteReader()){while (reader.Read()){Response.Write(reader[0]);}}}SQLite.NET数据库连接字符串ConnectionString格式:
Basic(基本的)
Data Source=filename;Version=3;
Using UTF16(使用UTF16编码)
Data Source=filename;Version=3;UseUTF16Encoding=True;
With password(带密码的)
Data Source=filename;Version=3;Password=myPassword;
Using the pre 3.3x database format(使用3.3x前数据库格式)
Data Source=filename;Version=3;Legacy Format=True;
Read only connection(只读连接)
Data Source=filename;Version=3;Read Only=True;
With connection pooling(设置连接池)
Data Source=filename;Version=3;Pooling=False;Max Pool Size=100;
Using DateTime.Ticks as datetime format()
Data Source=filename;Version=3;DateTimeFormat=Ticks;
The default value is ISO8601 which activates the use of the ISO8601 datetime format
Store GUID as text(把Guid作为文本存储,默认是Binary)
Data Source=filename;Version=3;BinaryGUID=False;
如果把Guid作为文本存储需要更多的存储空间
Specify cache size(指定Cache大小)
Data Source=filename;Version=3;Cache Size=2000;
Cache Size 单位是字节
Specify page size(指定页大小)
Data Source=filename;Version=3;Page Size=1024;
Page Size 单位是字节
Disable enlistment in distributed transactions
Data Source=filename;Version=3;Enlist=N;
Disable create database behaviour(禁用创建数据库行为)
Data Source=filename;Version=3;FailIfMissing=True;
默认情况下,如果数据库文件不存在,会自动创建一个新的,使用这个参数,将不会创建,而是抛出异常信息
Limit the size of database(限制数据库大小)
Data Source=filename;Version=3;Max Page Count=5000;
The Max Page Count is measured in pages. This parameter limits the maximum number of pages of the database.
Disable the Journal File (禁用日志回滚)
Data Source=filename;Version=3;Journal Mode=Off;
This one disables the rollback journal entirely.
Persist the Journal File(持久)
Data Source=filename;Version=3;Journal Mode=Persist;
This one blanks and leaves the journal file on disk after a commit. Default behaviour is to delete the Journal File after each commit.
Controling file flushing
Data Source=filename;Version=3;Synchronous=Full;
Full specifies a full flush to take action after each write. Normal is the default value. Off means that the underlying OS flushes I/O's.