.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 ...
随机推荐
- QT连接Linux mysql注意
windows: #define MYSQLDB "QMYSQL"#define MYSQLDB_HOSTNAME "192.168.228.168"#defi ...
- 关于高性能Web服务的一点思考
下面这些概念对于专业做性能测试的会比较熟悉,但是对于开发人员不一定都那么清楚. 并发用户数: 某一时刻同时请求服务器的用户总数,通常我们也称并发数,并发连接数等. 吞吐率:对于web服务器来说就是每秒 ...
- ECshop安装及报错解决方案总结
一.安装ECshop ECShop是一款B2C独立网店系统 ,适合企业及个人快速构建个性化网上商店.系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序.2006年3月推出以来1.0版以来, ...
- Spark之scala
一.什么是scala scala 是基于JVMde 编程语言.JAVA是运行在jvm上的编程语言,java 源代码通过jvm被编译成class 文件,然后在os上运行class 文件.scala是运行 ...
- Android 4.4以上的存储读写权限
最近遇到一个奇怪现象,直接往Android的SD卡根目录写入文件,报异常:open failed EACCES:permission denied. 已经在manifest.xml中加入android ...
- ASN.1编码
来自几年前本人写的一篇博客 http://blog.csdn.net/newyf_cun/article/details/13016069 如下使用libtasn1分析asn1的编码规则. http: ...
- Mysql字段操作—增加字段、删除字段、修改字段名、修改字段类型(约束条件)
1.增加字段: alter table tablename add new_field_id type not null default '0'; 例: a ...
- PYTHON seek()tell()语句
print(f.tell()) # 显示当前位置 f.seek(0) #回到某一起点
- hiho #1151 : 骨牌覆盖问题·二 (递推,数论)
#1151 : 骨牌覆盖问题·二 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上一周我们研究了2xN的骨牌问题,这一周我们不妨加大一下难度,研究一下3xN的骨牌问题? ...
- 2016年10月10日--穷举、迭代、while循环
穷举 将所有可能性全部全部走一遍,使用IF筛选出满足的情况 练习: 1.单位给发了一张150元购物卡, 拿着到超市买三类洗化用品. 洗发水15元,香皂2元,牙刷5元. 求刚好花完150元,有多少种买法 ...