ADO.NET数据读取封装
public class sqlserver
{
//private string sqlstr = System.ConfigurationManager.ConnectionStrings["conn03"].ConnectionString;
private string sqlstr = System.Configuration.ConfigurationManager.AppSettings["conn03"].ToString();
//返回datatable
public DataTable ExecuteDataTable(string sql,params SqlParameter[] parameters)
{
//第一步创建连接
using (SqlConnection con = new SqlConnection(sqlstr))
{
con.Open();
//实例工具
using(SqlCommand cmd = new SqlCommand (sql, con))
{
//新增参数
foreach (SqlParameter item in parameters)
{
cmd.Parameters.Add(item);
}
DataTable dt = new DataTable();
//获取数据
SqlDataAdapter dr = new SqlDataAdapter(cmd);
//填充到表
dr.Fill(dt);
return dt;
}
}
}
//返回dataset
public DataSet ExecuteDataSet(string sql,params SqlParameter[] parameters)
{
using (SqlConnection con = new SqlConnection(sqlstr))
{
con.Open();
using (SqlCommand cmd = new SqlCommand(sql,con))
{
foreach (SqlParameter item in parameters)
{
cmd.Parameters.Add(item);
}
DataSet ds = new DataSet ();
SqlDataAdapter dr = new SqlDataAdapter(cmd);
dr.Fill(ds);
return ds;
}
}
}
//执行增删改
public int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
{
using (SqlConnection con = new SqlConnection(sqlstr))
{
con.Open();
using (SqlCommand cmd = new SqlCommand(sql, con))
{
foreach (SqlParameter item in parameters)
{
cmd.Parameters.Add(item);
}
return cmd.ExecuteNonQuery();
}
}
}
//反回首行首列
public object ExecuScalar(string sql, params SqlParameter[] parameters)
{
using (SqlConnection con = new SqlConnection(sqlstr))
{
con.Open();
using (SqlCommand cmd = new SqlCommand(sql, con))
{
foreach (SqlParameter item in parameters)
{
cmd.Parameters.Add(item);
}
return cmd.ExecuteScalar();
}
}
}
//利用读取器来读取数据
public SqlDataReader ExecuteReader(string sql, params SqlParameter[] parameters)
{
using (SqlConnection con = new SqlConnection(sqlstr))
{
con.Open();
using (SqlCommand cmd = new SqlCommand(sql, con))
{
foreach (SqlParameter item in parameters)
{
cmd.Parameters.Add(item);
}
return cmd.ExecuteReader();
}
}
}
}
ADO.NET数据读取封装的更多相关文章
- 如何在ADO中使用数据读取器(DataReader)读取数据
DbDataReader类型(实现IDataReader接口)是从数据源获取信息最简单也最快速的方法. 数据读取器是只读向前的效据流.井且一次返回一条记录.因此.只有当你向数据源提交 Select 查 ...
- 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 ...
- DataReader类型化数据读取与装箱性能研究
前言 在各种ORM框架或者SQL映射框架(例如MyBatis,SOD框架之SQL-MAP功能)中,都有将查询的结果映射为内存对象的需求,包括映射到实体类.简单类型(例如Java的POJO,.NET的P ...
- ADO.NET数据访问技术
ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...
- GPS数据读取与处理
GPS数据读取与处理 GPS模块简介 SiRF芯片在2004年发布的最新的第三代芯片SiRFstar III(GSW 3.0/3.1),使得民用GPS芯片在性能方面登上了一个顶峰,灵敏度比以前的产品大 ...
- 使用Spring.net中对Ado.net的抽象封装来访问数据库
使用Spring.net中对Ado.net的抽象封装来访问数据库 Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入 ...
- TableInputFormat分片及分片数据读取源码级分析
我们在MapReduce中TextInputFormat分片和读取分片数据源码级分析 这篇中以TextInputFormat为例讲解了InputFormat的分片过程以及RecordReader读取分 ...
- Extjs的数据读取器store和后台返回类型简单解析
工作中用到了Extjs,从后台获取数据的时候,用到了extjs自己的Ext.data.store方法,然后封装了ExtGridReturn方法, 目的:前台用到Ext.data.store读取从后台传 ...
- Spark学习之数据读取与保存总结(二)
8.Hadoop输入输出格式 除了 Spark 封装的格式之外,也可以与任何 Hadoop 支持的格式交互.Spark 支持新旧两套Hadoop 文件 API,提供了很大的灵活性. 要使用新版的 Ha ...
随机推荐
- Qt之QImageReader
简述 QImageReader类为从文件或设备读取图像提供了一个独立的接口. 读取图像最常用的方法是通过构造QImage和QPixmap,或通过调用QImage::load()和QPixmap::lo ...
- Hello World FastCGI
什么是FastCGI,google吧,測试一个用C++实现的FastCGI程序. 1, Nginx 安装.http://nginx.org/en/download.html.下载解压.configur ...
- storm trident function函数
package cn.crxy.trident; import java.util.List; import backtype.storm.Config; import backtype.storm. ...
- iOS数据持久化 -- Core Data
Core Data是一个功能强大的层,位于SQLite数据库之上,它避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互.Core Data将数据库行转换为OC对象(托管对象)来实现,这样无需 ...
- ELK搭建(filebeat、elasticsearch、logstash、kibana)
ELK部署(文章有点儿长,搭建时请到官网将tar包下载好,按步骤可以完成搭建使用) ELK指的是ElasticSearch.LogStash.Kibana三个开源工具 LogStash是负责数据的收集 ...
- 【转】android新组件RecyclerView使用介绍和进阶使用,替用Gallery
简介: RecyclerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,但是直接把viewholder的实现封装起来,用 ...
- iview中 ...用法
1. 2. 3. 4.可以将divs转为数组解构 5. 解构 6.作为函数的参数 7.作为参数遍历
- 洛谷 P4180 【模板】严格次小生成树[BJWC2010] LCT
首次采用了压行,感觉还不错. Code: // luogu-judger-enable-o2 #include <cstdio> #include <algorithm> #i ...
- php八大设计模式之观察者模式
例如在登录时,需要判断用户是第几次登录,登录过于频繁我们就给用户提示异常.根据用户的爱好,在用户登录后给予相应的猜你喜欢.如果都在 登录时判断密码的方法内完成,不符合面向对对象的单一职责.那我们该怎么 ...
- 关于zxing生成二维码,在微信长按识别不了问题
在做校园学生到校情况签到系统时,我采用了zxing作为二维码生成工具.在测试的时候使用微信打开连接发现.我长按我的二维码之后,总是不会出现以下这种识别二维码的选项. 这就大大的降低了用户的体验,只能大 ...