.Net SqlDbHelper
using System.Configuration;
using System.Data.SqlClient;
using System.Data; namespace ExamDAL
{
class SqHelper
{
#region 属性区 // 连接字符串
private static string strConn; public static string StrConn
{
get
{
return ConfigurationManager.ConnectionStrings["Exam"].ConnectionString;
}
} #endregion #region 方法区 #region 获取受影响的行数 /// 执行非查询存储过程和SQL语句
/// 增、删、改
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="cmdType">Command类型</param>
/// <param name="paras">参数列表,没有参数填入null</param>
/// <returns>返回影响行数</returns>
public static int ExcuteSQL(string strSQL, CommandType cmdType, params SqlParameter[] paras)
{
int count = ;
using (SqlConnection conn = new SqlConnection(StrConn))
{
SqlCommand cmd = new SqlCommand(strSQL, conn);
cmd.CommandType = cmdType;
if (paras != null)
{
cmd.Parameters.AddRange(paras);
}
conn.Open();
count = cmd.ExecuteNonQuery();
conn.Close();
}
return count; } /// <summary>
/// 执行没有参数的SQL的语句
/// </summary>
/// <param name="strSQL">执行SQL</param>
/// <returns>受影响的行数</returns>
public static int ExcuteSQL(string strSQL)
{
return ExcuteSQL(strSQL, null);
} /// <summary>
/// 执行有参数的SQL的语句
/// </summary>
/// <param name="strSQL">执行SQL</param>
/// <param name="paras">参数</param>
/// <returns>受影响的行数</returns>
public static int ExcuteSQL(string strSQL, SqlParameter[] paras)
{
return ExcuteSQL(strSQL, CommandType.Text, paras);
} /// <summary>
/// 执行没有参数的存储过程
/// </summary>
/// <param name="ProcName">存储过程名称</param>
/// <returns>受影响的行数</returns>
public static int ExcuteProc(string ProcName)
{
return ExcuteSQL(ProcName, CommandType.StoredProcedure);
} /// <summary>
/// 执行有参数的存储过程
/// </summary>
/// <param name="ProcName">存储过程名称</param>
/// <param name="pars">参数</param>
/// <returns>受影响的行数</returns>
public static int ExcuteProc(string ProcName, SqlParameter[] pars)
{
return ExcuteSQL(ProcName, CommandType.StoredProcedure, pars);
} #endregion #region 获取第一行第一列的值 /// <summary>
/// 执行SQL语句,返回首行首列
/// </summary>
/// <param name="strSQL">要执行的SQL语句</param>
/// <param name="cmdtype">执行的类型</param>
/// <param name="paras">参数列表,没有参数填入null</param>
/// <returns>返回的首行首列</returns>
public static object GetObject(string strSQL, CommandType cmdtype, params SqlParameter[] paras)
{
object obj = null;
using (SqlConnection conn = new SqlConnection(StrConn))
{
SqlCommand cmd = new SqlCommand(strSQL, conn);
cmd.CommandType = cmdtype;
if (paras != null)
{
cmd.Parameters.AddRange(paras); } conn.Open();
obj = cmd.ExecuteScalar();
conn.Close();
}
return obj;
} /// <summary>
/// 根据sql语句获取单个值
/// </summary>
/// <param name="strSQL"></param>
/// <returns></returns>
public static object GetObject(string strSQL)
{
return GetObject(strSQL, null);
} /// <summary>
/// 根据sql语句 和 参数数组获取单个值
/// </summary>
/// <param name="strSQL"></param>
/// <param name="paras"></param>
/// <returns></returns>
public static object GetObject(string strSQL, SqlParameter[] paras)
{
return GetObject(strSQL, CommandType.Text, paras);
} /// <summary>
/// 调用不带参数的存储过程获取单个值
/// </summary>
/// <param name="ProcName"></param>
/// <returns></returns>
public static object GetObjectByProc(string ProcName)
{
return GetObjectByProc(ProcName);
} /// <summary>
/// 调用带参数的存储过程获取单个值
/// </summary>
/// <param name="ProcName"></param>
/// <param name="paras"></param>
/// <returns></returns>
public static object GetObjectByProc(string ProcName, params SqlParameter[] paras)
{
return GetObject(ProcName, CommandType.StoredProcedure, paras);
} #endregion #region 获取DataReader /// <summary>
/// 根据sql语句返回DataReader对象
/// </summary>
/// <param name="strSQL">sql语句</param>
/// <returns>DataReader对象</returns>
public static SqlDataReader GetReader(string strSQL)
{
return GetReader(strSQL, null);
} /// <summary>
/// 根据sql语句和参数返回DataReader对象
/// </summary>
/// <param name="strSQL">sql语句</param>
/// <param name="paras">参数数组</param>
/// <returns>DataReader对象</returns>
public static SqlDataReader GetReader(string strSQL, params SqlParameter[] paras)
{
return GetReader(strSQL, CommandType.Text, paras);
} /// <summary>
/// 调用不带参数的存储过程,返回DataReader对象
/// </summary>
/// <param name="procName">存储过程名称</param>
/// <returns>DataReader对象</returns>
public static SqlDataReader GetReaderByProc(string procName)
{
return GetReaderByProc(procName);
} /// <summary>
/// 调用带有参数的存储过程,返回DataReader对象
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="paras">参数数组</param>
/// <returns>DataReader对象</returns>
public static SqlDataReader GetReaderByProc(string procName, params SqlParameter[] paras)
{
return GetReader(procName, CommandType.StoredProcedure, paras);
} /// <summary>
/// 查询SQL语句获取DataReader
/// </summary>
/// <param name="strSQL">查询的SQL语句</param>
/// <param name="cmdtype">执行类型</param>
/// <param name="paras">参数列表,没有参数填入null</param>
/// <returns>查询到的DataReader(关闭该对象的时候,自动关闭连接)</returns>
public static SqlDataReader GetReader(string strSQL, CommandType cmdtype, params SqlParameter[] paras)
{
SqlDataReader sqldr = null;
SqlConnection conn = new SqlConnection(StrConn);
SqlCommand cmd = new SqlCommand(strSQL, conn);
cmd.CommandType = cmdtype;
if (paras != null)
{
cmd.Parameters.AddRange(paras);
}
conn.Open();
//CommandBehavior.CloseConnection的作用是如果关联的DataReader对象关闭,则连接自动关闭
sqldr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return sqldr;
} #endregion #region 获取DataTable /// <summary>
/// 执行查询,返回DataTable对象
/// </summary>
/// <param name="strSQL">sql语句</param>
/// <param name="cmdtype">Command类型</param>
/// <param name="paras">参数数组</param>
/// <returns>DataTable对象</returns>
public static DataTable GetTable(string strSQL, CommandType cmdtype, params SqlParameter[] paras)
{
DataTable dt = new DataTable(); ;
using (SqlConnection conn = new SqlConnection(StrConn))
{
SqlDataAdapter da = new SqlDataAdapter(strSQL, conn);
da.SelectCommand.CommandType = cmdtype;
if (paras != null)
{
da.SelectCommand.Parameters.AddRange(paras);
}
da.Fill(dt);
}
return dt;
} /// <summary>
/// 执行无参数语句
/// </summary>
/// <param name="strSQL">执行SQL</param>
/// <returns>DataTable</returns>
public static DataTable GetTable(string strSQL)
{
return GetTable(strSQL, null);
} /// <summary>
/// 执行有参语句
/// </summary>
/// <param name="strSQL">执行SQL</param>
/// <param name="paras">参数数组</param>
/// <returns>DataTable</returns>
public static DataTable GetTable(string strSQL, params SqlParameter[] paras)
{
return GetTable(strSQL, CommandType.Text, paras);
} #endregion #region 获取DataSet /// <summary>
/// 执行查询,返回DataSet对象
/// </summary>
/// <param name="strSQL">sql语句</param>
/// <param name="cmdtype">Command类型</param>
/// <param name="paras">参数数组</param>
/// <returns>DataSet对象</returns>
public static DataSet GetDataSet(string strSQL, CommandType cmdtype, params SqlParameter[] paras)
{
DataSet dt = new DataSet(); ;
using (SqlConnection conn = new SqlConnection(StrConn))
{
SqlDataAdapter da = new SqlDataAdapter(strSQL, conn);
da.SelectCommand.CommandType = cmdtype;
if (paras != null)
{
da.SelectCommand.Parameters.AddRange(paras);
}
da.Fill(dt);
}
return dt;
} /// <summary>
/// 执行无参数的SQL
/// </summary>
/// <param name="strSQL">执行SQL</param>
/// <returns>DataSet</returns>
public static DataSet GetDataSet(string strSQL)
{
return GetDataSet(strSQL, null);
} /// <summary>
/// 执行有参数的SQL
/// </summary>
/// <param name="strSQL">执行SQL</param>
/// <param name="paras">参数数组</param>
/// <returns>DataSet</returns>
public static DataSet GetDataSet(string strSQL, SqlParameter[] paras)
{
return GetDataSet(strSQL, CommandType.Text, paras);
} #endregion #region 批量插入数据处理 /// <summary>
/// 往数据库中批量插入数据
/// </summary>
/// <param name="sourceDt">数据源表</param>
/// <param name="targetTable">服务器上目标表</param>
public static void BulkToDB(DataTable sourceDt, string targetTable)
{
SqlConnection conn = new SqlConnection(strConn);
SqlBulkCopy bulkCopy = new SqlBulkCopy(conn); //用其它源的数据有效批量加载sql server表中
bulkCopy.DestinationTableName = targetTable; //服务器上目标表的名称
bulkCopy.BatchSize = sourceDt.Rows.Count; //每一批次中的行数 try
{
conn.Open();
if (sourceDt != null && sourceDt.Rows.Count != )
bulkCopy.WriteToServer(sourceDt); //将提供的数据源中的所有行复制到目标表中
}
catch (System.Exception ex)
{
throw ex;
}
finally
{
conn.Close();
if (bulkCopy != null)
bulkCopy.Close();
} } #endregion #endregion
}
}
.Net SqlDbHelper的更多相关文章
- ASP.NET常用的SqlDbHelper类
请引用 using System.Data;using System.Data.SqlClient; 两个命名空间. 可以满足常用的数据集,读取多条数据,以及增删改操作 代码: /// <sum ...
- sqldbhelper
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data. ...
- SqlDBHelper常用方法
/*============================================================= *.net连接数据库常用方法 *Author : dongny,Li * ...
- SqlDbHelper备份,做项目时方便应用(目前不太全,把自己项目中的逐渐转移过来)
****************************************** 这是官网新闻左侧类别那部分用到的 **************************************** ...
- C# 操作数据库常用的 SqlDbHelper
原博客园转载于 https://www.cnblogs.com/felix-wang/p/6742785.html using System; using System.Collections.G ...
- 返回泛型集合的SqlDBHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Entity; ...
- 重拾MVC——第一天:数据库连接与SqlDbHelper
这个 SqlDbHelper 是我参考网上的和以前用过的 SqlDbHelper 自己写的一个非常简单的东西,主要是记录自己的学习情况 首先在Web.config中配置数据库连接字符串: <co ...
- ASP.NET数据库连接类(SqlDBHelper)
第一步:创建一个名为SqlDBHelper的类,用来作为联通数据库和系统之间的桥梁. 第二步:引入命名空间,如果System.Configuration.System.Transcations这两个命 ...
- SQLSERVER单表CRUD通用方法
一.适用场景 ①当你书写简单的增删改查心累了 ②当你的项目不考虑并发.高性能 ③当你追求更快速的开发效率 ④当你的业务只涉及单表 二.代码展示 ①单表Insert public bool Insert ...
随机推荐
- Windows 操作小技巧 之一(持续更新)
1.图片批量旋转 通常携带单反去景点排了大量照片回来处理图片时都会遇到很多横竖杂乱排序的图片难以处理的情形.现提供如下技巧进行处理. 1).在文件夹中添加"方向"的排列或分组选项: ...
- 2014牡丹江D Domination
Domination Time Limit: 8 Seconds Memory Limit: 131072 KB Special Judge Edward is the headm ...
- getField方法
getField方法是ThinkPHP中用来获取字段值的方法,区别于select和find方法,通常仅用于获取个别字段的值.但是事实上并没有那么简单,该方法的用法总结如下: 获取某个字段值这个是get ...
- Cotex-M3内核LPC17xx系列时钟及其配置方法
一.背景: 最近正在接手一个项目,核心芯片既是LPC17XX系列MCU,内核为ARM的Cotex-M3内核. 想要玩转一个MCU,就一定得搞定其时钟! 时钟对MCU而言,就好比人类的心脏.由其给AHB ...
- 宿主系统为Ubuntu 14,CentOS 6.5 安装VirtualBox增强工具失败:Building the OpenGL support module[FAILED]
安装先前的笔记:CentOS 6.3 中安装VirtualBOX增强工具失败:Building the main Guest Additions module[FAILED],执行了以下命令 #安装 ...
- Flash+XML前后按钮超酷焦点图,层叠翻转图形
Flash+XML,有“前后”按钮,可以左右点击,支持鼠标滚轮,效果流畅,推荐下载.大图尺寸:680x345 点击下载
- NFS工作原理及配置文件详解
nfs工作原理流程 如上图所示,当访问程序通过NFS客户端向NFS服务端存取文件时,其请求数据流程如下几点: 1.首先用户访问网站程序,由程序在NFS客户端上发出NFS文件存取功能 ...
- php删除字符串中的所有空格
function trimall($str)//删除空格 { $qian=array(" "," ","\t","\n" ...
- c# random string
var randomString= Path.GetRandomFileName(); 返回 ar1opgzw.1gp 详细 http://www.dotnetperls.com/random-str ...
- python 函数的文档字符串 docstrings
函数体的第一行可以是一个可选的字符串文本:此字符串是该函数的文档字符串,或称为docstring.(更多关于 docstrings 的内容可以在 文档字符串一节中找到.)有工具使用 docstring ...