.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 ...
随机推荐
- 【C语言入门教程】5.3 函数的调用 与 参数
函数通过调用获得程序的控制权,函数的参数是调用者与函数的数据接口.函数可以定义一个或多个参数,也可以省略参数,调用时将与参数的数据类型相匹配的数据置于参数列表中,即可在函数体内使用.参数的调用有多种形 ...
- C#调用java类、jar包方法
一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录下的所有class文件夹全部进行打包处理: 使用的命令:jar cvf test.jar -C com/ . 其中tes ...
- IO基础
流向: 输入流:从硬盘到java 程序 (读数据) 输出流:从java 到硬盘 (写数据) 数据类型: 字节流: {用记事本打开,不能读懂,用 字节流} 输入: InputStrea ...
- PC-BSD 换名 TrueOS
导读 PC-BSD 重大更新:面向私人电脑的PC-BSD操作系统开发者.Lumina桌面环境创造者Ken Moore今天宣布系统迎来重大改变. 首先,PC-BSD更名为TrueOS,用户依然能够在PC ...
- linux中diff命令用法
diff 命 令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版 本的diff还支持二进制文件.diff程 ...
- linux kernel input 子系统分析
Linux 内核为了处理各种不同类型的的输入设备 , 比如说鼠标 , 键盘 , 操纵杆 , 触摸屏 , 设计并实现了一个对上层应用统一的试图的抽象层 , 即是Linux 输入子系统 . 输入子系统的层 ...
- 2.1---删除链表中重复元素(CC150)
分成两种,1种开了额外空间,临时缓冲区,一种没有开 import java.util.HashSet; import java.util.Set; class ListNode{ int data; ...
- zabbix3.0报错记录
一.问题描述 在zabbix_server添加变量时,出现了以下的报错,
- SQL Server 2012 自动增长列,值跳跃问题
介绍 从 SQL Server 2012 版本开始, 当SQL Server 实例重启之后,表格的自动增长列的值会发生跳跃,而具体的跳跃值的大小是根据增长列的数据类型而定的.如果数据类型是 整型(in ...
- jQuery工作原理
jQuery的开篇声明里有一段非常重要的话:jQuery是为了改变javascript的编码方式而设计的.从这段话可以看出jQuery本身并不是UI组件库或其他的一般AJAX类库.jQuery改变ja ...