文章目录
10.2.1 ADO.NET简介
ADO.NET是.NET框架的一部分,它提供了一组用于访问和操作数据的类库。它支持多种类型的数据源,包括关系型数据库、XML数据和应用程序中的数据。ADO.NET的主要目的是提供一个统一的编程接口,以简化数据访问和操作。
核心组件
-
SqlConnection:
- 表示与SQL Server数据库的连接。
- 用于打开和关闭与数据库的连接。
-
SqlCommand:
- 表示要在数据库中执行的SQL命令或存储过程。
- 可以指定命令类型(如文本、存储过程等)。
-
SqlDataReader:
- 用于从数据库中读取前向、只读的数据流。
- 适用于执行查询操作,返回结果集。
-
SqlDataAdapter:
- 用于填充DataSet和DataTable,并解决数据源和数据集之间的差异。
- 可以执行查询、插入、更新和删除操作。
-
DataSet:
- 一个内存中的数据库表示,可以包含多个表、关系和约束。
- 用于离线操作和数据缓存。
-
DataTable:
- 表示DataSet中的一个表。
- 可以独立于数据库存在,用于存储和管理数据。
-
DataRow:
- 表示DataTable中的一行数据。
- 可以用于插入、编辑和删除行。
-
DataColumn:
- 表示DataTable中的一列。
- 定义了数据类型、名称和其他属性。
-
DataRelation:
- 表示DataSet中两个表之间的关系。
- 用于导航和操作表之间的关系。
工作流程
-
建立连接:
- 使用
SqlConnection
对象建立与数据库的连接。
- 使用
-
创建命令:
- 使用
SqlCommand
对象定义要执行的SQL命令或存储过程。
- 使用
-
执行命令:
- 使用
SqlCommand
对象执行命令,可以是查询、插入、更新或删除操作。
- 使用
-
读取数据:
- 使用
SqlDataReader
对象读取查询结果。
- 使用
-
处理数据:
- 使用
SqlDataAdapter
对象填充DataSet
或DataTable
,进行数据操作。
- 使用
-
更新数据源:
- 使用
SqlDataAdapter
对象将数据集的更改同步回数据库。
- 使用
示例代码
以下是一个简单的示例,演示如何使用ADO.NET从SQL Server数据库中读取数据:
using System;
using System.Data;
using System.Data.SqlClient;
namespace ADO.NETDemo
{
class Program
{
static void Main(string[] args)
{
string connectionString = "Data Source=your_server;Initial Catalog=your_database;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
string query = "SELECT * FROM Employees";
using (SqlCommand command = new SqlCommand(query, connection))
{
try
{
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader["FirstName"] + " " + reader["LastName"]);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}