C#中使用DataReader查询数据及流程详解

需积分: 9 3 下载量 98 浏览量 更新于2024-08-19 收藏 349KB PPT 举报
本文主要介绍了在C#中使用DataReader进行数据查询的基本步骤,以及相关对象如SqlConnection、SqlDataAdapter和SqlCommand的使用。同时,也涵盖了添加、修改和删除数据的流程,以及SqlDataReader作为数据流读取器的特点和常用方法。 在C#中,查询数据通常涉及以下步骤: 1. 建立数据源连接对象并打开:首先,我们需要创建一个SqlConnection对象实例,然后调用Open()方法来打开与数据库的连接。例如:`con = new SqlConnection(); con.Open();` 2. 创建适配器对象:接着,我们需要一个SqlDataAdapter对象来处理数据传输。创建实例如:`sda = new SqlDataAdapter();` 3. 建立数据表:使用DataTable对象来存储查询结果,创建新的DataTable实例:`dt = new DataTable();` 4. 填充数据表:通过调用SqlDataAdapter的Fill方法将查询结果填充到数据表中,例如:`sda.Fill(dt);` 5. 显示或绑定数据:一旦数据被填充到DataTable,可以使用DataBind方法将其显示在界面上或绑定到控件。 6. 断开数据源:操作完成后,关闭数据库连接以释放资源:`con.Close();` 对于添加、修改和删除数据的流程,基本步骤包括: 1. 同样先建立数据源连接并打开。 2. 创建SqlCommand对象,并设置其CommandText属性为SQL语句(INSERT, UPDATE, DELETE)。 3. 执行命令对象的ExecuteNonQuery()方法,该方法不返回任何结果,仅用于执行非查询操作。 4. 最后,关闭数据库连接。 SqlDataReader是C#中用于高效读取数据库记录的数据流对象,它具有以下特点: - 数据流形式:一次只能读取一行数据,不可后退,类似瀑布式的只进不可逆的过程。 - 只读和只进:无法修改数据,且只能向前读取下一条记录。 使用SqlDataReader的常见操作包括: - 获取字段数:通过FieldCount属性,可以获取当前行的字段数量。 - 关闭数据流:调用Close()方法关闭SqlDataReader对象,释放资源。 - 读取记录:使用Read()方法读取下一条记录,返回值表明是否存在下一条记录。 读取数据的方式通常包含循环和索引访问,例如: ```csharp while (sdr.Read()) { Console.Write(sdr[0].ToString()); Console.Write(sdr[1].ToString()); Console.Write(sdr[2].ToString()); Console.Write(sdr["mima"].ToString()); } ``` 在这个例子中,sdr[0]、sdr[1]等表示按顺序访问字段,而sdr["mima"]则是通过字段名访问。循环读取直到没有更多记录(Read()返回False)。