.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 ...
随机推荐
- solrcloud
@Test public void querySolrCloud(){ String zkHost = "127.0.0.1:2181"; String defaultCollec ...
- tc 146 2 BridgeCrossing(n人过桥问题)
SRM 146 2 1000BridgeCrossing Problem Statement A well-known riddle goes like this: Four people are c ...
- Ubuntu 14 如何创建软件的 启动器/桌面图标?
如题所示:Ubuntu 14 如何创建软件的 启动器/桌面图标? 解决方案: 将 /usr/share/applications/ 里面的相应图标复制到桌面即可. 同理,也可“拖动”到左边的“启动器栏 ...
- 又一个绝对棒的对话框插件fancybox v1.3.4
http://www.jsfoot.com/jquery/demo/2011-07-30/fancybox/index.html jquery插件:fancybox Fancybox的特点如下: ...
- linux 下开放端口问题
Linux安装Tomcat后本地可以正常访问,可是这时Tomcat还不能被外界访问需要在Linux默认防护墙上打开8080端口 打开 /etc/sysconfig/iptables [root@l ...
- 我的Java书单之优秀的入门书
我始终相信,学习任何一门新技术,该技术相关的优秀书籍总是最好的资料.当然了,优秀的视频教程能帮组你快速地了解该技术,但是要深入和系统地去学习该技术,好的书籍就显得尤为重要了.结合我自己学习java的经 ...
- 使用MyEclipse生成Java注释时,使用的Code Template
设置注释模板的入口: Window->Preference->Java->Code Style->Code Template, 然后展开Comments节点就是所有需设置注释的 ...
- 如何学习caffe
知乎上的讨论:https://www.zhihu.com/question/27982282 从0开始山寨caffe系列:http://www.cnblogs.com/neopenx/archive/ ...
- PingUtil in Android
Ping a host in Android:“ping -c 1 127.0.0.1”-c 1: The ping times. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...
- 1.1---判断字符串是否所有字符都不相同(CC150)
import java.util.*; public class Different { public boolean checkDifferent(String str) { // write co ...