ADO.Net和SqlHelper封装
<connectionStrings>
<add name="Connectionstring" connectionString="Data Source=(local);Initial Catalog=**;Integrated Security=False;User ID=sa;Password=******" providerName="System.Data.SqlClient" />
</connectionStrings>
(2)封装sqlHelper类
public static class SqlHelper
{
//创建连接字符串
public static readonly string connStr = ConfigurationManager.ConnectionStrings["Connectionstring"].ConnectionString;
/// <summary>
/// 返回受影响的行数 用于执行Sql语句
/// </summary>
/// <param name="sql"></param>
/// <param name="parameter"></param>
/// <returns></returns>
public static int ExecNonQuery(string sql, SqlParameter[] parameter)
{
using (SqlConnection con = new SqlConnection(connStr))
{
con.Open();
using (SqlCommand cmd = con.CreateCommand())
{
cmd.CommandText = sql;
if (parameter != null)
{
cmd.Parameters.AddRange(parameter);
}
return cmd.ExecuteNonQuery();
}
}
}
/// <summary>
/// 返回结果集DataSet
/// </summary>
/// <param name="sql"></param>
/// <param name="parameter"></param>
/// <returns></returns>
public static DataSet ExecDataSet(string sql, SqlParameter[] parameter)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
if (parameter != null)
{
cmd.Parameters.AddRange(parameter);
}
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds;
}
}
}
/// <summary>
/// 返回表
/// </summary>
/// <param name="sql"></param>
/// <param name="parameter"></param>
/// <returns></returns>
public static DataTable ExecDataTable(string sql, SqlParameter[] parameter)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
if (parameter != null)
{
cmd.Parameters.AddRange(parameter);
}
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds.Tables[];
}
}
}
/// <summary>
/// 执行存储过程,返回影响的行数
/// </summary>
/// <param name="storedProcName"></param>
/// <param name="parameters"></param>
/// <param name="connectionString"></param>
/// <returns></returns>
public static int RunProcedure(string storedProcName, SqlParameter[] parameters, string connStr)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
//设置命令类型为存储过程
cmd.CommandType = CommandType.StoredProcedure;
//设置存储过程名称
cmd.CommandText = storedProcName;
if (parameters != null)
{
cmd.Parameters.AddRange(parameters);
}
//执行存储过程
return cmd.ExecuteNonQuery();
}
}
}
public static DataSet LinkProce(string TableName, string OrderFieldName, int OrderType, ref int PageSize, ref int PageIndex, out int backAllCount, string strWhere)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
backAllCount = ;
cmd.CommandText = "Proc_GetRecordByPage";
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter[] sqlParameters = new SqlParameter[]
{
new SqlParameter("tblName",TableName),
new SqlParameter("orderFieldName",OrderFieldName),
new SqlParameter("OrderType",OrderType),
new SqlParameter("PageSize",PageSize),
new SqlParameter("PageIndex",PageIndex),
new SqlParameter("strWhere",strWhere),
new SqlParameter("IsReCount",backAllCount),
};
cmd.Parameters.AddRange(sqlParameters);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
try
{
da.Fill(ds);
backAllCount = (int)ds.Tables[].Rows[][];
return ds;
}
catch (Exception ex)
{
return null;
}
finally
{
ds.Dispose();
conn.Close();
}
}
}
}
/// <summary>
/// 返回首行首列
/// </summary>
/// <param name="sql"></param>
/// <param name="parameter"></param>
/// <returns></returns>
public static object ExecuteScalar(string sql, SqlParameter[] parameter)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
if (parameter != null)
{
cmd.Parameters.AddRange(parameter);
}
return cmd.ExecuteScalar();
}
}
}
}
(3)SqlHelper调用
int pagesize = ;
int pageindex = ;
int backcount = ;
DataSet ds= SqlHelper.LinkProce("T_TravelExpensive", "createtime",, ref pagesize, ref pageindex,out backcount,"");
Response.Write("all count:" + backcount.ToString()+ ";ds count:"+ds.Tables[].Rows.Count.ToString());
ADO.Net和SqlHelper封装的更多相关文章
- Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装、 EF Core操作及实例
Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...
- 使用Spring.net中对Ado.net的抽象封装来访问数据库
使用Spring.net中对Ado.net的抽象封装来访问数据库 Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入 ...
- 基于ADO.NET的SqlHelper类
1.使用Connection连接数据库的步骤: (1).添加命名空间 System.Data.SqlClient(注意:初学者经常会忘记) (2)定义连接字符串.连接SQL Server 数据库时: ...
- ADO.NET链接数据库封装方法
/// <summary> /// 获取一个表 /// </summary> /// <param name="sql ...
- ADO.NET数据读取封装
public class sqlserver { //private string sqlstr = System.ConfigurationManager.ConnectionStrings[&qu ...
- 以SqlHelper为例论面向对象中封装的使用(续)
上文以SqlHelper为例说明了面向对象中封装的好处,但是上文只是简单封装,考虑下面代码的情况: public static Activate GetByCode(string code) { Li ...
- 以SqlHelper为例论面向对象中封装的使用
引言: 在使用面向对象方法编写的程序中,会有一些工具类,如Utility,xxHelper等. 比如1)操作数据库的过程,一般步骤都是:1.准备数据库地址.表名等信息:2.建立连接:3.准备要执行sq ...
- ADO.Net总结
ADO.NET简介 一. ADO.NET的组成(ADO.NET是什么?能干什么)客户体验 ADO.NET就是一组类库可以让我们通过程序的方式访问数据库 ADO.NET主要包括5个对象, ...
- 关于SqlHelper的详解
SqlHelper是一个基于.NET Framework的数据库操作组件.组件中包含数据库操作方法.SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlComma ...
随机推荐
- 【大数据作业十一】分布式并行计算MapReduce
作业要求:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3319 1.用自己的话阐明Hadoop平台上HDFS和MapReduce的功 ...
- [Beta]第二次 Scrum Meeting
[Beta]第二次 Scrum Meeting 写在前面 会议时间 会议时长 会议地点 2019/5/6 22:00 30min 大运村公寓6F楼道 附Github仓库:WEDO 例会照片 工作情况总 ...
- Linux中mpstat命令参数详解
Linux中mpstat命令参数详解 mpstat 是 Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在 /proc/stat ...
- JS执行——Promise
https://www.jianshu.com/p/b16e7c9e1f9f Promise Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理且更强大.它最早由社 ...
- MD5(2)
/************************************************ MD5 算法的Java Bean @author:Topcat Tuppin Last Modifi ...
- python之fabric(一):环境env (转)
原文地址:https://my.oschina.net/indestiny/blog/289587 1. fabric有很多可配置的环境,如: user:默认用于ssh登录的本地用户名. passwo ...
- 深入分析GCC
深入分析GCC 目录 前言章 GCC概述 11.1 GCC的产生与发展 11.2 GCC的特点 21.3 GCC代码分析 3第2章 GCC源代码分析工具 42.1 vim ctags代码阅读工具 42 ...
- knuth洗牌算法
首先来思考一个问题: 设计一个公平的洗牌算法 1. 看问题,洗牌,显然是一个随机算法了.随机算法还不简单?随机呗.把所有牌放到一个数组中,每次取两张牌交换位置,随机 k 次即可. 如果你的答案是这样, ...
- [LeetCode] 502. IPO 上市
Suppose LeetCode will start its IPO soon. In order to sell a good price of its shares to Venture Cap ...
- node 单例
ScriptManager.getInstance = function () { if (_instance != null) { return _instance; } else { return ...