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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|