ADO.NET是.NET框架中用于数据访问的一组类和接口, 是 .NET 框架中用于数据库连接和操作的一部分。它提供了与数据源交互的能力,包括连接、执行命令、读取数据、填充数据集等。五大对象是ADO.NET的核心,它们分别是:
- Connection:用于创建与数据库的连接。
- Command:用于执行SQL语句或存储过程。
- DataReader:用于以只读、只进的方式从数据库中读取数据。
- DataAdapter:用于在DataSet和数据库之间传输数据。
- DataSet:数据的容器,可以包含多个数据表。
连接对象(Connection)
用于创建与数据库的连接。利用连接对象将数据库打开后,才能从数据库中获取数据。
命令对象(Command)
用于执行SQL语句或存储过程。它可以设置命令类型、文本、连接以及参数集合。常见命令有查询(Select),增加(Insert),删除(Delete),修改(Update)。常用方法包括ExecuteNonQuery(执行返回受影响的行数)、ExecuteScalar(执行查询并返回第一行第一列的值)和ExecuteReader(执行查询并返回DataReader对象)。
数据读取器(DataReader)
数据读取器提供了一个只读、只进的数据流,用于从数据库中检索数据。它可以快速读取数据,但不支持对数据的修改。常用属性包括HasRoes(判断是否有数据)、FieldCount(获取当前行的列数)和IsClosed(判断是否已关闭)。
数据适配器(DataAdapter)
数据适配器用于填充DataSet和更新数据库。它通过连接对象与数据库通信,并使用命令对象来执行Select、Insert、Update和Delete操作。Fill
方法用于从数据库填充DataSet,而Update
方法用于更新数据库。
数据集(DataSet)
数据集是一个内存中的数据表示,可以包含多个数据表、约束和关系。它允许应用程序在不直接连接到数据库的情况下操作数据。数据集可以用于数据的离线处理和数据绑定。
在实际应用中,可以使用Connection
对象打开连接,然后创建Command
对象执行SQL命令,接着使用DataReader
读取数据,或者使用DataAdapter
填充和更新DataSet
。以下以使用DataAdapter为例
public partial class Form1 : For
{
//连接字符串
private string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
public Form1()
{
//创建数据库连接对象
using (var conn = new SqlConnection(conStr))
{
//打开数据库连接
conn.Open();
//创建命令对象
using (var cmd =conn.CreateCommand())
{
string sql = "select * from [User]";
//使用DataAdapter建一个管道将命令执行后的结果传给数据集
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
//创建一个数据集
DataSet ds = new DataSet();
//填充数据集
adapter.Fill(ds);
// 将DataSet设置为DataGridView的数据源
dataGridView1.DataSource = ds.Tables[0];
}
}
}
}