【DB】SQLite学习笔记
下载”System.Data.SQLite.DLL”,程序中添加引用即可
//创建数据库文件 SQLiteConnection.CreateFile("sqlitetest.db"); //建立数据库连接并打开数据库 第一种方法: SQLiteConnection conn = new SQLiteConnection(); SQLiteConnectionStringBuilder connsb = new SQLiteConnectionStringBuilder(); connsb.DataSource = dbName; connsb.Password = "zlm"; conn.ConnectionString = connsb.ToString(); conn.Open(); 第二种方法: SQLiteConnection conn = new SQLiteConnection("Data Source=sqlitetest.db;Password=zlm"); conn.Open(); //添加表 SQLiteCommand cmd = new SQLiteCommand(conn); string cmdText = "Create Table User(id int ,Name varchar(20))"; cmd.CommandText = cmdText; cmd.ExecuteNonQuery(); //插入测试数据 第一方法: SQLiteCommand cmd = new SQLiteCommand(conn); cmd.CommandText = "INSERT INTO [TEST] (ID,name) VALUES (1,'acen')"; cmd.ExecuteNonQuery(); cmd.CommandText = "INSERT INTO [TEST] (ID,name) VALUES (2,'unique')"; cmd.ExecuteNonQuery(); 第二种方法: SQLiteCommand cmd = new SQLiteCommand(conn); cmd.CommandText = "insert into User(id,name,econfig) values(@id,@name)"; cmd.Parameters.AddWithValue("@id", 3); cmd.Parameters.AddWithValue("@name","zhangsan"); cmd.ExecuteNonQuery(); //读数据 cmd.CommandText = "select * from Test"; SQLiteDataReader dr = cmd.ExecuteReader(); StringBuilder sb = new StringBuilder(); while (dr.Read()) { sb.Append(dr.GetInt32(0)).Append("|").Append(dr.GetString(1)).Append("\n"); }
1. 测试通过,如果把密码去掉再调试,”File opened that is not a database file .file is encrypted or is not a database”,不出所料,出错了。
2. 设置密码的另一个方法:conn.SetPassword("zlm"); 在打开连接之前设置。
3. 修改密码的方法:conn.ChangePassword("dy");必须在打开连接之后操作。
4. SQLite不支持存储过程,虽然它的类SQLiteCommand有一个CommandType属性,但其明确写着目前仅支持CommandType.Text.