自用的SQLHelper和MySqlHelper,除一些通用方法外,封装了一些很实用的批量操作方法,简单介绍下
SqlHelper
-
ExecuteEmptyDataTable
获取空表结构,主要用于需要构造DataTable进行大批量数据插入时使用
-
BulkInsert
大批量数据插入,使用SqlBulkCopy进行大批量数据导入,仅提供了DataTable方式,需要DataReader的请自行重载
-
BatchUpdate
批量数据更新、插入,使用SqlDataAdapter实现,需要进行较大数据量更新、插入时可以使用此方法,性能还不错
-
BatchUpdate,BatchDelete
分批次批量删除、更新数据,此方法应用场景较少,用于需要删除、更新大量数据的同时不造成数据库阻塞且不影响数据库订阅、复制延时等
-
ExecutePageDataTable
通用的分页方法,提供了CTE表达式的支持
-
SqlHelperExtension.cs(ExecuteObject、ExecuteObjects)
提供了泛型获取对象方法支持,依赖依赖AutoMapper.dll实现,非常在意性能的慎用
-
SqlHelperSchemaExtension.cs
SqlServer获取数据库、表、索引信息的封装,可以用来辅助写自己的代码生成器,查看数据库索引之类的
MySqlHelper
-
ExecuteEmptyDataTable
获取空表结构,主要用于需要构造DataTable进行大批量数据插入时使用
-
BulkInsert
使用MySqlBulkLoader进行大批量数据导入,仅提供了DataTable方式,需要DataReader的请自行重载
-
BatchUpdate
批量数据更新、插入,使用MySqlDataAdapter实现,需要进行较大数据量更新、插入时可以使用此方法,性能还不错
-
MySqlHelperExtension.csExecuteObject、ExecuteObjects
提供了泛型获取对象方法支持,依赖依赖AutoMapper.dll实现,非常在意性能的慎用
-
源码下载备用:
SQL.rar
*****************************************自用SqlHelper******************************************
-
using System;
-
using System.Data;
-
using System.Configuration;
-
using System.Web;
-
using System.Security;
-
using System.Data.SqlClient;
-
///
-
/// DBConnection 的摘要说明
-
///
-
-
public class DBConnection
-
{
-
private static string connectionStr = "Server=datasvr;uid=sa;password=123456;database=KsEastRiver;";
-
SqlConnection conn;
-
SqlCommand comm = null;
-
SqlDataAdapter sda = null;
-
-
public DataSet getDataSet(string sql)
-
{
-
conn = new SqlConnection(connectionStr);
-
sda = new SqlDataAdapter(sql,conn);
-
conn.Open();
-
DataSet ds = new DataSet();
-
try
-
{
-
sda.Fill(ds);
-
}
-
catch (Exception ex)
-
{
-
throw ex;
-
//conn.Close();
-
}
-
finally { conn.Close();
-
}
-
-
return ds;
-
}
-
public bool getScalar(String sql)
-
{
-
bool flag = false;
-
conn = new SqlConnection(connectionStr);
-
comm = new SqlCommand(sql, conn);
-
conn.Open();
-
int i = int.Parse(comm.ExecuteScalar().ToString());
-
if (i != 0)
-
{
-
flag = true;
-
}
-
else
-
{
-
flag = false;
-
}
-
conn.Close();
-
return flag;
-
}
-
-
public int update(string sql)
-
{
-
conn = new SqlConnection(connectionStr);
-
comm = new SqlCommand(sql, conn);
-
conn.Open();
-
int i = 0;
-
try
-
{
-
i = comm.ExecuteNonQuery();
-
}
-
catch (Exception )
-
{
-
conn.Close();
-
}
-
finally
-
{
-
conn.Close();
-
}
-
return i;
-
}
-
-
public DataTable sqlSelect(string sql)
-
{
-
conn = new SqlConnection(connectionStr); //将conn连接数据库实例化对象
-
conn.Open();//打开数据库对象
-
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
-
DataTable dt = new DataTable();
-
try
-
{
-
da.Fill(dt);
-
}
-
catch (Exception ex)
-
{
-
throw ex;
-
//conn.Close();
-
}
-
finally { conn.Close(); }
-
return dt;
-
}
-
}
阅读(1478) | 评论(0) | 转发(0) |