using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Data.SQLite; using System.Data; namespace DeiNiu.Data.BaseObject { public class SQLiteHelper { //创建数据库文件 public static void CreateDBFile(string fileName) { string path = System.Environment.CurrentDirectory + @"/Data/"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string databaseFileName = path + fileName; if (!File.Exists(databaseFileName)) { SQLiteConnection.CreateFile(databaseFileName); } } //生成连接字符串 private static string CreateConnectionString() { SQLiteConnectionStringBuilder connectionString = new SQLiteConnectionStringBuilder(); connectionString.DataSource = @"data/ScriptHelper.db"; string conStr = connectionString.ToString(); return conStr; } /// /// 对插入到数据库中的空值进行处理 /// /// /// public static object ToDbValue(object value) { if (value == null) { return DBNull.Value; } else { return value; } } /// /// 对从数据库中读取的空值进行处理 /// /// /// public static object FromDbValue(object value) { if (value == DBNull.Value) { return null; } else { return value; } } /// /// 执行非查询的数据库操作 /// /// 要执行的sql语句 /// 参数列表 /// 返回受影响的条数 public static int ExecuteNonQuery(string sqlString, params SQLiteParameter[] parameters) { string connectionString=CreateConnectionString(); using (SQLiteConnection conn = new SQLiteConnection(connectionString)) { conn.Open(); using (SQLiteCommand cmd = conn.CreateCommand()) { cmd.CommandText = sqlString; foreach (SQLiteParameter parameter in parameters) { cmd.Parameters.Add(parameter); } return cmd.ExecuteNonQuery(); } } } /// /// 执行查询并返回查询结果第一行第一列 /// /// SQL语句 /// 参数列表 /// public static object ExecuteScalar(string sqlString, params SQLiteParameter[] parameters) { string connectionString = CreateConnectionString(); using (SQLiteConnection conn = new SQLiteConnection(connectionString)) { conn.Open(); using (SQLiteCommand cmd = conn.CreateCommand()) { cmd.CommandText = sqlString; foreach (SQLiteParameter parameter in parameters) { cmd.Parameters.Add(parameter); } return cmd.ExecuteScalar(); } } } /// /// 查询多条数据 /// /// SQL语句 /// 参数列表 /// 返回查询的数据表 public static DataTable GetDataTable(string sqlString,params SQLiteParameter[] parameters) { string connectionString = CreateConnectionString(); using (SQLiteConnection conn = new SQLiteConnection(connectionString)) { conn.Open(); using (SQLiteCommand cmd = conn.CreateCommand()) { cmd.CommandText = sqlString; foreach (SQLiteParameter parameter in parameters) { cmd.Parameters.Add(parameter); } DataSet ds = new DataSet(); SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd); adapter.Fill(ds); return ds.Tables[0]; } } } } }