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 ...
随机推荐
- 数据结构---公交线路提示系统05(内附读取表格+迪杰斯特拉算法Java代码)
今天做的最多的事情就是纠错了,通过添加输出语句判断错误来源: 找到错误来源: wb = new XSSFWorkbook(input);//语句创建错误 网上查询发现是jar包的问题: 下图为poi的 ...
- koa koa-static 静态资源中间件
koa-static介绍 在网络请求中,请求往往分成两种类型,一种是静态资源,直接从服务器的文件存储中读取,一种是动态资源,一般需要先从数据库获取数据,然后经过一定的处理,最后返回给客户端. koa- ...
- centos 添加/删除用户和用户组
centos系统添加/删除用户和用户组 在centos中增加用户使用adduser命令而创建用户组使用groupadd命令,这个是不是非常的方便呀,其实复杂点的就是用户的组与组权限的命令了,下 ...
- H5 FormData对象的使用——进行Ajax请求并上传文件
XMLHttpRequest Level2 添加了一个新的接口——FormData .[ 主要用于发送表单数据,但也可以独立使用于传输键控数据.与普通的Ajax相比,它能异步上传二进制文件 ] 利用F ...
- 用于KV集群的一致性哈希Consistent Hashing机制
KV集群的请求分发 假定N为后台服务节点数,当前台携带关键字key发起请求时,我们通常将key进行hash后采用模运算 hash(key)%N 来将请求分发到不同的节点上, 后台节点的增删会引起几乎所 ...
- QT中添加图片资源
1.在ui设计界面中添加label,用于显示图片 2.添加QT资源文件 往项目中添加新文件,选择QT分类中的资源文件,名称为"myImage",其他选项默认. 3.添加资源 在项目 ...
- IDEA 加载maven工程时
IDEA首次加载maven文件时,会无法编译,需要更新maven版本才行. 此处选择“add as maven project”. 然后点击maven对话框中的同步按钮,若仍无法更新,需要删除原有配置 ...
- 接口测试01- Jmeter-线程进程-环境变量
1.1 概念 JMeter 是 Apache 组织使用 Java 开发的一款测试工具 ,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资源,例如静态文件.Java ...
- 关于Excel 2016 总要点击两次才能打开的解决方法
1.快捷键:win+r,输入:regedit2.定位到如下项目“HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command”:3.编辑原有的内容,在最后添加 ...
- ztree取消之前选中状态并设置新的选中
var zTreeObject = $.fn.zTree.getZTreeObj("treeId"); var node = zTreeObject.getNodeByParam( ...