C# 数据绑定示例:DataGridview与SqlDataReader
需积分: 10 181 浏览量
更新于2024-12-02
收藏 1KB TXT 举报
"本文主要介绍了如何在C#中使用`DataGridView`控件进行数据绑定,通过`SqlConnection`连接数据库并从SQL查询中获取数据,然后将数据源绑定到`BindingSource`,最后将`BindingSource`或直接将`DataReader`绑定到`DataGridView`。示例代码展示了两种不同的数据绑定方式,一种是直接使用`SqlDataReader`,另一种是使用`DataSet`和`SqlDataAdapter`。"
在.NET Framework中,`DataGridView`控件是一个常用的数据展示组件,它可以用来显示和编辑表格形式的数据。在C#编程中,我们经常需要从数据库获取数据并将其绑定到`DataGridView`以展示。下面将详细讲解这个过程。
首先,创建一个`SqlConnection`实例,用于连接数据库。在给定的代码中,数据库连接字符串是`@"server=.;database=gr;user id=sa;pwd="`,这表示本地服务器上的名为`gr`的数据库,使用`sa`用户身份验证,并提供密码。
接着,创建一个`SqlCommand`对象来执行SQL查询,这里查询的是`T1`表中的所有列。使用`ExecuteReader`方法执行查询,返回一个`SqlDataReader`对象,它按需读取数据,适合于流式处理大量数据。
然后,检查`SqlDataReader`是否读取到数据(即`sdr.Read()`返回`true`),如果读取到了数据,可以将`SqlDataReader`设置为`BindingSource`的`DataSource`,然后将`BindingSource`设置为`DataGridView`的`DataSource`。这样做是因为`BindingSource`可以作为数据源和控件之间的中介,提供数据过滤、排序和导航等附加功能。
另外,代码中还展示了使用`DataSet`和`SqlDataAdapter`的方式进行数据绑定。`SqlDataAdapter`用于填充`DataSet`,`SqlCommandBuilder`则用于生成更新、插入和删除命令。在填充`DataSet`后,将`DataSet`中的第一个表(假设是表`t1`)设置为`dataGridView1`的`DataSource`。此外,`dataGridView1.DataSource = ds.Tables[0].DefaultView;`则是另一种绑定数据的方式,`DefaultView`是`DataTable`的一个属性,它提供了一个可以对数据进行排序和筛选的视图。
总结来说,这段代码演示了两种`DataGridView`数据绑定方法:直接使用`SqlDataReader`和使用`DataSet`和`SqlDataAdapter`。这两种方法都能有效地将数据库中的数据呈现到用户界面中。在实际开发中,选择哪种方法取决于项目需求,如数据量大小、是否需要缓存数据以及是否需要支持复杂的操作(如排序、过滤)。
777 浏览量
341 浏览量
476 浏览量
476 浏览量
129 浏览量
806 浏览量
191 浏览量
2023-05-21 上传
644 浏览量
llwlz
- 粉丝: 4
- 资源: 23
最新资源
- 随机函数(rand)
- Oracle9i+数据库管理基础+IVol.2.pdf
- ibatis_db_guide_cn
- 同济大学博士硕士授予学位学科专业一览表.pdf
- OA需求分析书 oa相关资料
- Weblogic的安装与配置
- The.Art.of.UNIX.programming
- FreeMarker_Programmer Guide 中文版pdf
- 精心整理 EXT 中文手册
- 基于MESH网和CC2430芯片的ZIGBEE抄表系统硬件概述
- 重装电脑后的6件必做大事
- s3610+实验手册
- Java经典面试试题及答案
- 深入浅出linux设备驱动程序pdf
- ATmega128中文资料
- ActionScript 3.0编译器编译错误大全