ADO.NET五大对象的运用

ADO.NET是.NET框架中用于数据访问的一组类和接口, 是 .NET 框架中用于数据库连接和操作的一部分。它提供了与数据源交互的能力,包括连接、执行命令、读取数据、填充数据集等。五大对象是ADO.NET的核心,它们分别是:

  1. Connection:用于创建与数据库的连接。
  2. Command:用于执行SQL语句或存储过程。
  3. DataReader:用于以只读、只进的方式从数据库中读取数据。
  4. DataAdapter:用于在DataSet和数据库之间传输数据。
  5. 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

1.以使用DataReader为例

private void Form1_Load(object sender, EventArgs e)
{
     //创建数据库连接对象
     using (var conn= new SqlConnection(conStr))
     {
           //打开数据库连接
           conn.Open();

           string sql = "select * from [User]";

           //创建命令对象
           using (SqlCommand command = new SqlCommand(sql,conn))
           {
                 //创建SqlDataReader读取查询结果
                 using (SqlDataReader reader = command.ExecuteReader())
                 {
                      // 创建一个DataTable来存储从SqlDataReader读取的数据
                      DataTable dt = new DataTable();

                      //Load()方法是一个便捷方法,它会自动处理DataTable的创建和数据填充过程
                      dt.Load(reader);

                      // 将DataTable设置为DataGridView的数据源
                      dataGridView1.DataSource = dt;
                 }
            }
      }
}

以下以使用DataAdapter为例

//创建数据库连接字符串
private string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;

private void Form1_Load(object sender, EventArgs e)
{
    //创建数据库连接对象
    using (var conn = new SqlConnection(conStr))
    {
        //打开数据库连接
        conn.Open();

        //创建命令对象
        using (SqlCommand cmd = conn.CreateCommand())
            {
                string sql = "select * from [User]";
                cmd.CommandText = sql;

                //创建一个数据集
                DataSet ds = new DataSet();

                //创建一个数据适配器,将命令执行后的结果传给数据集
                SqlDataAdapter adapter = new SqlDataAdapter(cmd);

                //填充数据集
                adapter.Fill(ds);

                // 将DataSet设置为DataGridView的数据源
                      dataGridView1.DataSource = ds.Tables[0];
             }
     }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值