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 ...
随机推荐
- 解决wps的ppt演示不能打开的问题libbz2.so.1.0
安装 wps-office-10.1.0.5707-1.a21.x86_64 无法打开ppt 其他正常
- 关于vue事件监听的一个问题
由于新工作需要用vue,所以最近接触最多的也是vue,因为之前一直在用react,所以对于vue上手还是很快的.我也尽量找一些他们两个的异同点,除了多了一些辅助用的方法以外,最大的不同应该是对于组件间 ...
- Python格式化字符串、占位符、合并数组
合并数组 参考链接:https://www.cnblogs.com/chaihy/p/7243143.html >>> a=[2] >>> b=[3] >&g ...
- 机载LIDAR技术及其应用
1 机载LIDAR的系统组成及原理 1.1 机载 LIDAR 技术的发展历程 LIDAR 技术和机载激光扫描技术的发展源自 1970 年,美国航空航天局(NASA)支持研制成功第一台对地观测 LIDA ...
- USACO 玛丽卡(最短路+枚举)
USACO 玛丽卡 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们知道从一个城市 ...
- android将String转化为MD5的方法+一些String经常使用的方法
public class StringUtils { public static String MD5Encode(String origin) { String resultString = nul ...
- sublime搜索和替换--多文件搜索替换
Search and Replace - Multiple Files Searching To open the search panel for files, press Ctrl + Shift ...
- hdu 5318 The Goddess Of The Moon 矩阵高速幂
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5318 The Goddess Of The Moon Time Limit: 6000/3000 MS ( ...
- Java多线程理解:线程安全的集合对象
1.概念介绍 线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用.不会出现数据不一致或者数据污染. 线程不安全就 ...
- django 笔记12 session
第一步写好函数,然后生成数据库session表 python manage.py makemigrations python manage.py migrate session原理: .Session ...