ADO.NET 快速入门(一):ADO.NET 概述
ADO.NET 概述
- Connections. 用于连接和管理针对数据库的事务。
- Commands. 用于发出针对数据库的SQL指令。
- DataReaders. 用于从SQL Server数据源读取只进流的数据记录。
- DataSets. 用于针对结构型数据,XML数据和关系型数据的存储,远程处理和编程。
- DataAdapters. 用于推送数据到DataSet,并针对数据库协调数据。
Connections用于和数据库“沟通”,并且被声明为特定的提供程序级别,例如SQLConnection。Commands扫描连接然后结果集以流的形式被返回,这种流可以被DataReader对象读取,或者推入DataSet对象。
下面的例子演示了如何创建一个连接对象。Connections可以通过调用Open方法被显式打开,或者使用DataAdapter的时候被隐式打开。
若要确保连接始终关闭,请在 using 块内部打开连接,如下面的代码段所示。 这样可确保在代码退出代码块时自动关闭连接。
using (SqlConnection connection = new SqlConnection(connectionString)){connection.Open();// Do work here; connection closed on following line.}
下面的示例创建一个 SqlConnection、一个 SqlCommand 和一个 SqlDataReader。 该示例读取所有数据,并将其写到控制台。 最后,示例在退出 Using 代码块时先后关闭 SqlDataReader 和 SqlConnection。
private static void ReadOrderData(string connectionString) {string queryString = "SELECT OrderID, CustomerID FROM dbo.Orders;";using (SqlConnection connection = new SqlConnection(connectionString)){SqlCommand command = new SqlCommand(queryString, connection);connection.Open();SqlDataReader reader = command.ExecuteReader();try{while (reader.Read()){Console.WriteLine(String.Format("{0}, {1}",reader[0], reader[1]));}}finally{// Always call Close when done reading. reader.Close();}} }
下面的示例创建一个 SqlConnection、一个 SqlCommand 和一个 SqlDataReader。 该示例读取全部数据,并将这些数据写到控制台窗口。 随后此代码关闭 SqlDataReader。 SqlConnection 在 using 代码块的结尾处自动关闭。
using System; using System.Data; using System.Data.SqlClient;class Program {static void Main(){string str = "Data Source=(local);Initial Catalog=Northwind;"+ "Integrated Security=SSPI";ReadOrderData(str);}private static void ReadOrderData(string connectionString){string queryString ="SELECT OrderID, CustomerID FROM dbo.Orders;";using (SqlConnection connection =new SqlConnection(connectionString)){SqlCommand command =new SqlCommand(queryString, connection);connection.Open();SqlDataReader reader = command.ExecuteReader();// Call Read before accessing data.while (reader.Read()){ReadSingleRow((IDataRecord)reader);}// Call Close when done reading. reader.Close();}}private static void ReadSingleRow(IDataRecord record){Console.WriteLine(String.Format("{0}, {1}", record[0], record[1]));}}
下面的示例使用 SqlCommand、SqlDataAdapter 和 SqlConnection 从数据库中选择记录,并用选定的行填充 DataSet。 然后返回已填充的 DataSet。 为完成此任务,向该方法传递一个已初始化的 DataSet、一个连接字符串和一个查询字符串,后者是一个 Transact-SQL SELECT 语句。
private static DataSet SelectRows(DataSet dataset,string connectionString,string queryString) {using (SqlConnection connection = new SqlConnection(connectionString)){SqlDataAdapter adapter = new SqlDataAdapter();adapter.SelectCommand = new SqlCommand(queryString, connection);adapter.Fill(dataset);return dataset;} }
- ADO.NET是适合于.NET框架的改进版的ADO。
- ADO.NET是在多层架构、无状态性与XML的情况下诞生的。DataSet和DataAdapter2个对象提供这些场景。
- ADO.NET可以被用于从流获取数据,或者缓存用于更新的数据。
- 在文档里有更多关于ADO.NET的资料。
- 请记住,你可以直接对数据库执行命令以便插入、更新,与删除数据。你没有必要为了插入、更新、或删除数据把它放入DataSet。
- 同样,你可以使用DataSet绑定到数据,浏览数据,以及操作数据关联。
原文地址:
http://quickstarts.asp.net/QuickStartv20/howto/doc/adoplus/overviewcontents.aspx
转载于:https://www.cnblogs.com/JavCof/p/3427838.html
ADO.NET 快速入门(一):ADO.NET 概述相关推荐
- Lua快速入门篇(基础概述)(Yanlz+toLua+xLua)
<Lua热更新> ##<Lua热更新>发布说明: ++++"Lua热更新"开始了,立钻哥哥终于开始此部分的探索了. ++++作为游戏发布迭代的重要技术:Lu ...
- SSM_Mybatis_Day01(快速入门、映射文件概述、核心配置文件概述、相应API、代理开发方式、映射文件深入、数据类型的映射、列名和属性名不一致的时候的处理)
SSM_Mybatis_Day01(快速入门.映射文件概述.核心配置文件概述.相应API.代理开发方式.映射文件深入.数据类型的映射.列名和属性名不一致的时候的处理) 1. Mybatis mybat ...
- ADO.NET 快速入门(十五):ADO 应用转换为 ADO.NET
这是一个已经移植到 .NET 的 ADO 应用的例子.也演示了单向.只读.快速 DataReader 的使用.它演示如何使用 DataView 类从 DataSet 获取一个 Table 和 操作一个 ...
- ADO.NET 快速入门(四):从数据库填充 DataSet
从数据库获取数据很容易,处理数据更容易.如果想要从数据库获取只进.只读的数据流结果集,你可以使用 DataReader 执行命令并且检索它.关于如何使用 DataReader,请参考:使用 OLE D ...
- Filter和Listener-学习笔记01【Filter 快速入门】
Java后端 学习路线 笔记汇总表[黑马程序员] Filter和Listener-学习笔记01[Filter快速入门] Filter和Listener-学习笔记02[Filter细节] Filter和 ...
- Bootstrap学习笔记01【快速入门、栅格布局】
Java后端 学习路线 笔记汇总表[黑马程序员] Bootstrap学习笔记01[快速入门.栅格布局][day01] Bootstrap学习笔记02[全局CSS样式.组件和插件.案例_黑马旅游网][d ...
- 2引擎帮助文档_ANSA快速入门指南中文帮助文档浅析(上)
作者 | 团长 仿真秀科普作者 首发 | 仿真秀公众号(ID:fangzhenxiu2018) 导读:本文是ANSA入门系列第一篇(后续将会在仿真秀官网或APP同步发布).本系列致力于提供ANSA软件 ...
- 第 1 章 MybatisPlus 快速入门
第 1 章 MybatisPlus 快速入门 1.MybatisPlus 概述 MybatisPlus:一款 Mybatis 的增强工具包 MybatisPlus 官网:https://mybatis ...
- JSON数据结构(A、快速入门篇)(Yanlz+Data+JsonArray+JsonObject+JsonValue+JsonMapper.ToJson+JsonMapper.ToObject+)
<JSON数据结构> 版本 作者 参与者 完成日期 备注 Data_JSON_V01_1.0 严立钻 2018.08.24 ++++一个好用的JSON在线编辑:http://www.kjs ...
最新文章
- Linux 实时流量监测(iptraf中文图解)
- 【全网最全的博客美化系列教程】06.推荐和反对炫酷样式的实现
- mysql的二级分区_分布式数据库一级分区和二级分区
- 图像的全局特征--HOG特征、DPM特征
- WS2811B驱动使用及使用说明
- android按钮半透明
- Windows系统重装Linux系统
- 美国大学 计算机,U.S.News美国大学计算机专业排名
- 计算机电脑怎么开热点,笔记本电脑怎么开热点_教你笔记本电脑开热点的方法...
- chi2inv函数 matlab_matlab中ltiview怎么使用啊
- 安卓逆向——修改APP的名称,图标和包名多开分身
- Websphere远程代码执行-CVE-2015-7450
- 谷歌公开了内部管理Infra层的两个工具的Paper
- win10设置以管理员身份开机启动
- Android 之路20---Java基础14
- MySQL5.7用group by分组根据组中某个字段的最大值求取那条记录(注意是整条记录)
- 神经放射学诊断中的MRI数据分析
- 泛微在环保行业特色应用:项目、采购、工程、财务数字化管理
- 河南科技大学计算机信息安全技术考试,河南科技大学军事理论试题4
- 金蝶软件安装时,提示安装包配置文件(Setup.Lst)文件不存在无法安装处理方法
热门文章
- 网络营销之下的泡泡玛特盲盒广受年轻用户群体的喜爱与关注
- 网络推广外包中有哪些不可取行为值得网络推广外包专员警示?
- solrcloud java_SolrCloud之zookeeper中使用java代码创建集合
- 32位微型计算机quot;中的32指的是,《计算机应用基础作业一).doc
- server 2008 mysql 报错 0xc000007b_docker插件部署项目,volumes报错invalid volume specification...
- nodejs Yarn替代npm的包管理——快速、安全、可靠性高的依赖管理
- 深度解读Facebook刚开源的beringei时序数据库——数据压缩delta of delta+充分利用内存以提高性能...
- git上传超过100m大文件
- sqlserver 类似oracle的rownum功能: row_number
- STC10F10XE定时器中断输出10KHz的方波程序