📅  最后修改于: 2023-12-03 14:39:02.008000             🧑  作者: Mango
ADO.NET 是 .NET Framework 中的一组数据访问技术,用于访问各种数据源,包括关系型数据库、XML 文件和企业级信息系统。与 ADO 相比,ADO.NET 支持多种数据源的访问,更加高效、灵活和可扩展。
ADO.NET 由以下几个组成部分组成:
数据提供程序 (Data Providers):用于连接和操作数据源。ADO.NET 提供了多种数据提供程序,包括 SQL Server、Oracle、MySQL、SQLite 等等。
数据集 (DataSet):表示内存中的一组数据表。数据集是 ADO.NET 中最重要的组件之一,它可以在客户端内存中存储一组数据表,并且支持对这些数据表进行查询、添加、删除和更新等操作。数据集是一种高效的离线数据存储方式。
数据适配器 (DataAdapter):用于连接数据源,并将数据填充到数据集中。数据适配器负责数据源和数据集之间的数据传输,通常包括四个命令对象 (SelectCommand、InsertCommand、UpdateCommand 和 DeleteCommand)。
数据命令 (Command):用于执行 SQL 命令或存储过程。数据命令通常包括 SqlCommand、OracleCommand、MySqlCommand 等对象。
数据连接 (Connection):用于连接到数据源。ADO.NET 中的数据提供程序通常都提供了自己的 Connection 对象。
数据读取器 (DataReader):用于从数据源中读取数据,并提供一种只读的数据访问方式。DataReader 只能向前读取一条记录,一旦关闭,数据就无法再次访问。
以下示例展示了如何使用 ADO.NET 访问 SQL Server 数据库:
SqlConnection conn = new SqlConnection("Data Source=myServer;Initial Catalog=myDatabase;User ID=myUsername;Password=myPassword");
SqlCommand cmd = new SqlCommand("SELECT * FROM Customers WHERE City=@city", conn);
cmd.Parameters.AddWithValue("@city", "London");
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("{0}: {1}", reader["CustomerID"], reader["ContactName"]);
}
reader.Close();
conn.Close();
以上代码首先创建一个 SqlConnection 对象,指定连接字符串,然后创建一个 SqlCommand 对象,指定 SQL 查询语句和参数。在执行查询之前,需要先打开连接,并调用 ExecuteReader() 方法执行查询。在读取查询结果之前,需要先调用 Read() 方法。最后,需要显式地关闭 SqlDataReader 和 SqlConnection 对象。