测试插入数据
try
{
SQLiteConnection cnn = new SQLiteConnection(@"Data Source=G:\App_Data\Data.sqlite;");
cnn.Open();
using (SQLiteTransaction dbTrans = cnn.BeginTransaction())
{
using (SQLiteCommand cmd = cnn.CreateCommand())
{
try
{
cmd.CommandText = @"INSERT INTO Students (Name, Description) VALUES (‘1‘, ‘2‘)";
for (int n = 0; n < 100000; n++)
{
cmd.ExecuteNonQuery();
}
dbTrans.Commit();
}
catch
{
dbTrans.Rollback();
}
}
}
}
catch (Exception ex)
{
Clipboard.SetText(ex.Message + "\r\n\r\n" + ex.StackTrace);
}
删除表中的数据后,发现数据库文件并未变小。
执行以下操作:
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
using (SQLiteCommand cmd = new SQLiteCommand("VACUUM", connection))
{
try
{
connection.Open();
cmd.ExecuteNonQuery();
}
catch (System.Data.SQLite.SQLiteException E)
{
connection.Close();
}
}
}
发现数据库文件变为2kb。
注意压缩数据库执行操作中,不要使用Transaction事务,否则会失败。
原文:http://www.cnblogs.com/kosin/p/4822355.html