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[], reader[]));
}
}
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[], record[]));
} }
下面的示例使用 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
ADO.NET 快速入门(一):ADO.NET 概述的更多相关文章
- ADO.NET 快速入门(十五):ADO 应用转换为 ADO.NET
这是一个已经移植到 .NET 的 ADO 应用的例子.也演示了单向.只读.快速 DataReader 的使用.它演示如何使用 DataView 类从 DataSet 获取一个 Table 和 操作一个 ...
- ADO.NET 快速入门(八):处理 Errors
除了 Try/Catch 和 Exceptions 以外,新的 ADO.NET 数据框架也允许在 DataSet 的每行数据添加错误信息.如果 Updates 或者其他操作失败,SqlDataAdap ...
- ADO.NET 快速入门(七):使用数据库事务
数据库事务用于控制数据提交到数据库.例如,在标准的账户程序,账户的借贷必须同时完成.由于电脑偶尔发生故障(电力中断.网络中断,等等),可能有些记录被更新或者添加,但是另外一些没有.为了避免这些情况,可 ...
- ADO.NET 快速入门(六):读写 XML
ADO.NET 和 DataSet 可以读写 XML Schema 和 XML.获取更多信息,请参考 How do I...Use XML and the DataSet? DataSet 的 S ...
- ADO.NET 快速入门(二):执行命令
Commands发出针对数据库的数据存储动作.例如,你可以执行一条命令插入或者删除数据.获取更多从数据库移动数据相关的信息,请参考“Update a Database from a DataSet”. ...
- ADO.NET 快速入门(十四):使用 SQL Server 检索数据
SqlDataReader 类提供了一种从数据源读取数据记录只进流的方法.如果想使用 OLE DB 接口的数据库或者 SQL Server7.0 之前的版本,请参考文章:使用 OLE DB 检索数据. ...
- ADO.NET 快速入门(十三):使用 OLE DB 检索数据
OleDbDataReader 类提供了一种从数据源读取数据记录只进流的方法.如果想使用 SQL Server 7.0 或者更高版本,请参考文章:使用 SQL Server 检索数据. OleDb ...
- ADO.NET 快速入门(十二):从 SQL Server 生成 XML 数据
本文演示如何使用2种不同的方法从 SQL Server 生成 XML. 方法1:使用了 SqlCommand 的 ExecuteXmlReader 方法获取 XmlReader,然后使用 Data ...
- ADO.NET 快速入门(十一):连接池
这个示例演示了如何构建一个到数据源的连接池.你可以通过连接池部署高性能的应用程序.本例中使用连接串创建连接池,并且由 SqlConnection 自动管理. string connString; ...
随机推荐
- ios-cocos2d游戏开发基础-CCLayer和Touch事件-开发笔记
有时候在同一个场景里你需要多个CCLayer.你可以参照以下代码生成这样的场景 +(id) scene { CCScene* scene = [CCScene node]; CCLayer* back ...
- django - get_or_create() 使用提醒
[omron - debug] user_id建表的时候,不能使用unique,因为一个用户,可能有多个product_id,相对应的是,get_or_create()中的查询参数,如果在建表中有un ...
- OK - A byte of python - 读书笔记
看这本书的目的:再熟悉基本概念. 大部分都是知道,但是需要 明确 出来的 概念. - 欢迎吐槽错误,非常感谢. <A byte of python> - THIS 1. 组织行 - 形式: ...
- virtualbox更新完之后重启不成功
前几天更新完virtualbox,一直没用,今天想用,可是提示can't not access the kernel drivers,百度完之后按照别人博客所教方法弄好了,特地来转载他人文章,表达对博 ...
- 编译安装lnmp
http://wenku.baidu.com/view/ec45d5dd28ea81c758f578cc.html
- binlog/relay_log的清理
http://www.yuminstall.com/how-to-remove-mysql-relay-log.html CHANGE MASTER TO changes the parameters ...
- 你今天Python了吗?(下)
在体验了wxPython的强大之后,让我们把注意力集中到Twisted上来.在C++的世界里,你会发现一个很棒的网络应用框架,那就是ACE了:在Python的地盘,Twisted则是在网络应用框架中当 ...
- gcc编译器基本命令
1 unix操作系统 ubuntu 12版本Unix内核0.5天 常用命令2 c语言:标准c 十天主要练习动手能力 小案例水平高的 自己去写案例水平低的 理解并跟着写3 c++:5天高级语言的特点:面 ...
- ACM1994
/* Problem Description 为自行解决学费,chx勤工俭学收入10000元以1年定期存入银行,年利率为3.7% .利率按年计算,表示100元存1年的利息为3.7元.实际上有时提前有时 ...
- 《一步一步写嵌入式操作系统》读书笔记1—Skyeye介绍、安装和HelloWorld
2013-11-14 最近在看<一步一步写嵌入式操作系统>,感觉此书甚好,许多地方讲得很清楚.可操作性强,计划边读边实践边写笔记,希望能够逐步熟悉嵌入式操作系统底层的东西,最终剪裁出一套实 ...