148 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			148 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | 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; | |||
|  |         } | |||
|  |   | |||
|  |         /// <summary> | |||
|  |         /// 对插入到数据库中的空值进行处理 | |||
|  |         /// </summary> | |||
|  |         /// <param name="value"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static object ToDbValue(object value) | |||
|  |         { | |||
|  |             if (value == null) | |||
|  |             { | |||
|  |                 return DBNull.Value; | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 return value; | |||
|  |             } | |||
|  |         } | |||
|  |   | |||
|  |         /// <summary> | |||
|  |         /// 对从数据库中读取的空值进行处理 | |||
|  |         /// </summary> | |||
|  |         /// <param name="value"></param> | |||
|  |         /// <returns></returns> | |||
|  |         public static object FromDbValue(object value) | |||
|  |         { | |||
|  |             if (value == DBNull.Value) | |||
|  |             { | |||
|  |                 return null; | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 return value; | |||
|  |             } | |||
|  |         } | |||
|  |   | |||
|  |         /// <summary> | |||
|  |         /// 执行非查询的数据库操作 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sqlString">要执行的sql语句</param> | |||
|  |         /// <param name="parameters">参数列表</param> | |||
|  |         /// <returns>返回受影响的条数</returns> | |||
|  |         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(); | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |   | |||
|  |         /// <summary> | |||
|  |         /// 执行查询并返回查询结果第一行第一列 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sqlString">SQL语句</param> | |||
|  |         /// <param name="sqlparams">参数列表</param> | |||
|  |         /// <returns></returns> | |||
|  |         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(); | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |   | |||
|  |         /// <summary> | |||
|  |         /// 查询多条数据 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sqlString">SQL语句</param> | |||
|  |         /// <param name="parameters">参数列表</param> | |||
|  |         /// <returns>返回查询的数据表</returns> | |||
|  |         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]; | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | } |