有关SQLite的基本概念等可自行搜索,直接上简单操作类代码,
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SQLite; namespace MinTuo { class MySqlite { private static string _path = ""; public static string DBPath { get { if (_path == "") return "Data Source=" + System.Windows.Forms.Application.StartupPath + "\\data.db"; else return _path; } set { _path = value; } } /// <summary> /// 建立数据库连接 /// </summary> /// <returns></returns> private static SQLiteConnection conn() { SQLiteConnection con= new SQLiteConnection(DBPath); con.Open(); return con; } /// <summary> /// 执行 /// </summary> /// <param name="sql"></param> /// <returns></returns> public static int ExecuteNonQuery(string sql) { using (SQLiteConnection con = conn()) { using (SQLiteCommand com = new SQLiteCommand()) { com.Connection = con; com.CommandText = sql; return com.ExecuteNonQuery(); } } } /// <summary> /// 带参数执行 自动处理特殊字符及防注入 /// </summary> /// <param name="sql"></param> /// <param name="pars"></param> /// <returns></returns> public static int ExecuteNonQuery(string sql, params SQLiteParameter[] pars) { using (SQLiteConnection con = conn()) { using (SQLiteCommand com = new SQLiteCommand()) { com.Connection = con; com.CommandText = sql; com.Parameters.Clear(); com.Parameters.AddRange(pars); return com.ExecuteNonQuery(); } } } /// <summary> /// 查询 /// </summary> /// <param name="sql"></param> /// <returns></returns> public static DataTable ExecuteDataTable(string sql) { using (SQLiteConnection con = conn()) { using (SQLiteDataAdapter ap = new SQLiteDataAdapter(sql, con)) { DataSet ds = new DataSet(); ap.Fill(ds); return ds.Tables[0]; } } } /// <summary> /// 带参数执行 /// </summary> /// <param name="sql"></param> /// <param name="pars"></param> /// <returns></returns> public static DataTable ExecuteDataTable(string sql, params SQLiteParameter[] pars) { using (SQLiteConnection con = conn()) { using (SQLiteCommand com = new SQLiteCommand()) { com.CommandText = sql; com.Connection = con; com.Parameters.Clear(); com.Parameters.AddRange(pars); using (SQLiteDataAdapter ap = new SQLiteDataAdapter(com)) { DataSet ds = new DataSet(); ap.Fill(ds); return ds.Tables[0]; } } } } } }
这里只写了基本的增删该查方法,其他的方法可以自行尝试增加,来看基本的调用方法
增:
int k = MySqlite.ExecuteNonQuery("insert into tb_article(title,body) values(@title,@body)", new SQLiteParameter("@title",tbTitle.Text), new SQLiteParameter("@body",tbBody.Text)); MessageBox.Show(string.Format("成功添加数据 {0} 条",k));
删:
int k = MySqlite.ExecuteNonQuery("delete from tb_article where id="+did); MessageBox.Show(string.Format("成功删除 {0} 条数据", k));
改:
int x = MySqlite.ExecuteNonQuery("update tb_article set title=@title,body=@body where id="+EditId.ToString(), new SQLiteParameter("@title",tbTitle.Text),new SQLiteParameter("@body",tbBody.Text));
查:
using (DataTable dt = MySqlite.ExecuteDataTable("select * from tb_article order by id desc")) { if (dt != null) { foreach (DataRow row in dt.Rows) { dataGridView1.Rows.Add( row["id"].ToString(), row["title"].ToString(), "修改", "删除"); } } }
源码下载(含System.Data.SQLite.dll)
http://yunpan.cn/cHa67tWzKhnAW 访问密码 4267