传统方式
将数据库操作封装成一个工具类
using System.Data;
using System.Data.SqlClient;
public class TraditionalSQLServerDBManager
{
SqlConnection con;
public TraditionalSQLServerDBManager()
{
con = new SqlConnection();
con.ConnectionString = "Server=;DataBase=;Uid=;pwd=;";
con.Open();
}
public void ExcuteSQL(string sql)
{
SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandType = CommandType.Text;
com.CommandText = sql;
SqlDataReader dr = com.ExecuteReader();//执行SQL语句
dr.Close();//关闭执行
con.Close();//关闭数据库
}
}
使用工具类
TraditionalSQLServerDBManager manager = new TraditionalSQLServerDBManager();
manager.ExcuteSQL(@"INSERT INTO [test2].[dbo].[BitTable] ([IsDelete]) VALUES(1)");
使用第三方库Dapper
封装工具类
public class DbManager<T> where T : class
{
private static DbManager<T> instance;
private static object _lock = new object();
private SqlConnection connection;
public static DbManager<T> Instance
{
get
{
lock (_lock)
{
if (instance == null)
{
instance = new DbManager<T>();
}
}
return instance;
}
}
public DbManager()
{
connection = new SqlConnection("Server=;DataBase=;Uid=;pwd=;");
connection.Open();
}
public IEnumerable<T> QueryBySQL(string sql)
{
return connection.Query<T>(sql);
}
public bool ExecuteOne(string sql)
{
if (connection.Execute(sql) != 0)
return true;
return false;
}
}
调用方法
List<BitModel> list = new BLL.AboutDBManager().GetBitModel();
连接其他数据库,引用目标数据库相关DLL,将SqlConnection改为目标Connection即可。
如:
using System.Data.SQLite;
private SQLiteConnection connection;
其他
多个不同的数据库连接,比如MySQL,SQL Server,Oracle等,可以考虑采用接口实现多态
时间: 2024-10-02 19:56:04