109 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			109 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System.Collections.Generic; | |||
|  | using System.Data; | |||
|  | using System.Data.SQLite; | |||
|  | using System.Configuration; | |||
|  | using System.Data.SqlClient; | |||
|  | //using MySql.Data.MySqlClient; | |||
|  | 
 | |||
|  | namespace ConsoleApp5 | |||
|  | { | |||
|  |     public class DBHelper | |||
|  |     { | |||
|  |         private readonly static string connStr = ConfigurationManager.ConnectionStrings["Data Source=mesclient.sqlite;Version=3"].ConnectionString; | |||
|  | 
 | |||
|  |         //获取 appsetting 设置的值 | |||
|  |         //private readonly static string appStr = ConfigurationManager.AppSettings["TestKey"]; | |||
|  | 
 | |||
|  |         //获取 connection 对象 | |||
|  |         public static IDbConnection CreateConnection() | |||
|  |         { | |||
|  |             IDbConnection conn = new SQLiteConnection(connStr);//MySqlConnection //SqlConnection | |||
|  |             conn.Open(); | |||
|  |             return conn; | |||
|  |         } | |||
|  | 
 | |||
|  |         //执行非查询语句 | |||
|  |         public static int ExecuteNonQuery(IDbConnection conn, string sql, Dictionary<string, object> parameters) | |||
|  |         { | |||
|  |             using (IDbCommand cmd = conn.CreateCommand()) | |||
|  |             { | |||
|  |                 cmd.CommandText = sql; | |||
|  |                 foreach (KeyValuePair<string, object> keyValuePair in parameters) | |||
|  |                 { | |||
|  |                     IDbDataParameter parameter = cmd.CreateParameter(); | |||
|  |                     parameter.ParameterName = keyValuePair.Key; | |||
|  |                     parameter.Value = keyValuePair.Value; | |||
|  |                     cmd.Parameters.Add(parameter); | |||
|  |                 } | |||
|  |                 return cmd.ExecuteNonQuery(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         //执行非查询语句-独立连接 | |||
|  |         public static int ExecuteNonQuery(string sql, Dictionary<string, object> parameters) | |||
|  |         { | |||
|  |             using (IDbConnection conn = CreateConnection()) | |||
|  |             { | |||
|  |                 return ExecuteNonQuery(conn, sql, parameters); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         //查询首行首列 | |||
|  |         public static object ExecuteScalar(IDbConnection conn, string sql, Dictionary<string, object> parameters) | |||
|  |         { | |||
|  |             using (IDbCommand cmd = conn.CreateCommand()) | |||
|  |             { | |||
|  |                 cmd.CommandText = sql; | |||
|  |                 foreach (KeyValuePair<string, object> keyValuePair in parameters) | |||
|  |                 { | |||
|  |                     IDbDataParameter parameter = cmd.CreateParameter(); | |||
|  |                     parameter.ParameterName = keyValuePair.Key; | |||
|  |                     parameter.Value = keyValuePair.Value; | |||
|  |                     cmd.Parameters.Add(parameter); | |||
|  |                 } | |||
|  |                 return cmd.ExecuteScalar(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         //查询首行首列-独立连接 | |||
|  |         public static object ExecuteScalar(string sql, Dictionary<string, object> parameters) | |||
|  |         { | |||
|  |             using (IDbConnection conn = CreateConnection()) | |||
|  |             { | |||
|  |                 return ExecuteScalar(conn, sql, parameters); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         //查询表 | |||
|  |         public static DataTable ExecuteQuery(IDbConnection conn, string sql, Dictionary<string, object> parameters) | |||
|  |         { | |||
|  |             DataTable dt = new DataTable(); | |||
|  |             using (IDbCommand cmd = conn.CreateCommand()) | |||
|  |             { | |||
|  |                 cmd.CommandText = sql; | |||
|  |                 foreach (KeyValuePair<string, object> keyValuePair in parameters) | |||
|  |                 { | |||
|  |                     IDbDataParameter parameter = cmd.CreateParameter(); | |||
|  |                     parameter.ParameterName = keyValuePair.Key; | |||
|  |                     parameter.Value = keyValuePair.Value; | |||
|  |                     cmd.Parameters.Add(parameter); | |||
|  |                 } | |||
|  |                 using (IDataReader reader = cmd.ExecuteReader()) | |||
|  |                 { | |||
|  |                     dt.Load(reader); | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |             return dt; | |||
|  |         } | |||
|  | 
 | |||
|  |         //查询表--独立连接 | |||
|  |         public static DataTable ExecuteQuery(string sql, Dictionary<string, object> parameters) | |||
|  |         { | |||
|  |             using (IDbConnection conn = CreateConnection()) | |||
|  |             { | |||
|  |                 return ExecuteQuery(conn, sql, parameters); | |||
|  |             } | |||
|  |         } | |||
|  |     } | |||
|  | } |