1 using System; 2 using System.Collections.Generic; 3 using System.Configuration; 4 using System.Data; 5 using System.Data.SQLite; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 10 namespace CaterDal 11 { 12 public static class SqliteHelper 13 { 14 //从配置文本中读取连接字符串 15 private static string connStr = ConfigurationManager.ConnectionStrings["itcastCater"].ConnectionString; 16 17 //执行命令的方法:insert,update,delete 18 //params:可变参数,目的是省略了手动构造数组的过程,直接指定对象,编译器会帮助我们构造数组,并将对象加入数组中,传递过来 19 public static int ExecuteNonQuery(string sql,params SQLiteParameter[] ps) 20 { 21 //创建连接对象 22 using (SQLiteConnection conn=new SQLiteConnection(connStr)) 23 { 24 //创建命令对象 25 SQLiteCommand cmd=new SQLiteCommand(sql,conn); 26 //添加参数 27 cmd.Parameters.AddRange(ps); 28 //打开连接 29 conn.Open(); 30 //执行命令,并返回受影响的行数 31 return cmd.ExecuteNonQuery(); 32 } 33 } 34 35 //获取首行首列值的方法 36 public static object ExecuteScalar(string sql, params SQLiteParameter[] ps) 37 { 38 using (SQLiteConnection conn=new SQLiteConnection(connStr)) 39 { 40 SQLiteCommand cmd=new SQLiteCommand(sql,conn); 41 42 cmd.Parameters.AddRange(ps); 43 44 conn.Open(); 45 //执行命令,获取查询结果中的首行首列的值,返回 46 return cmd.ExecuteScalar(); 47 } 48 } 49 50 //获取结果集 51 public static DataTable GetDataTable(string sql,params SQLiteParameter[] ps) 52 { 53 using (SQLiteConnection conn=new SQLiteConnection(connStr)) 54 { 55 //构造适配器对象 56 SQLiteDataAdapter adapter=new SQLiteDataAdapter(sql,conn); 57 //构造数据表,用于接收查询结果 58 DataTable dt=new DataTable(); 59 //添加参数 60 adapter.SelectCommand.Parameters.AddRange(ps); 61 //执行结果 62 adapter.Fill(dt); 63 //返回结果集 64 return dt; 65 } 66 } 67 } 68 }