20.4 显示数据库数据

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的

20.4.1 设计时进行简单绑定

【例 20.22 】【项目:code20-022】设计时关联数据库。

设计时设置DataGridView的DataSource属性,请参考第19.7.4.1节。

注意:【数据源配置向导】|【选择你的数据连接】页面已经将之前使用过的数据连接已经列出,可以直接选择:

图20-27 使用过的数据连接

在【数据源配置向导】|【选择数据库对象】页面,勾选"表"下面的"订单明细",然后点击"完成"按钮。

图20-28 勾选"订单明细"

此时DataGridView.DataSource已经设置为订单明细BindingSource。而且设计窗体上的DataGridView控件里显示了"订单明细"的字段:

图20-29 设计界面直接显示数据表的字段

直接运行程序,可以看到显示了"订单明细"的所有数据:

图20-30 订单明细数据

整个过程简单,基本不用键盘输入,快捷方便地将数据显示出来。

**注意:**由于连接字符串使用的是64位,本例运行时的目标平台请使用X64,后面例子同。

20.4.2 使用数据源

【例 20.23 】【项目:code20-023】使用数据源关联数据库。

设计时使用数据源,请参考第19.7.4.2节。

在【数据源配置向导】|【将连接字符串保存到应用程序配置文件中】页面,直接点击"完成"按钮。如果此时"完成"按钮是灰色,那么继续点击"下一步", 在【数据源配置向导】|【选择数据库对象】页面不勾选任何内容,点击完成。在弹出的窗口点击"是"按钮:

图20-31 这里暂时需要空的数据集

【数据源】窗口多了"NorthwindDataSet":

图20-32 【数据源】窗口

而【解决方案资源管理器】窗口内多了"NorthwindDataSet.xsd"文件:

图20-33 【解决方案资源管理器】窗口

双击"NorthwindDataSet.xsd",此时会打开"数据集设计器",而【工具箱】窗口也会只剩下【数据集】这一选项卡:

图20-34 【工具箱】窗口

双击【数据集】选项卡中的"TableAdapter",此时弹出【TableAdapter配置向导】,使用默认连接(MySettings这个),点击"下一步"按钮:

图20-35 【TableAdapter配置向导】窗口

在【TableAdapter配置向导】|【选择命令类型】页面,默认选中"使用SQL语句",点击"下一步"按钮:

图20-36 【选择命令类型】页面

在【TableAdapter配置向导】|【输入SQL语句】页面,输入要使用的SQL语句,或者通过"查询生成器"来生成SQL语句。继续点击"下一步"按钮:

图20-37 输入要使用的SQL语句

在【TableAdapter配置向导】|【选择要生成的方法】页面,这一步骤的选项和上一步骤的SQL语句相关联。如果是不包含全部主键的部分查询或者交叉查询,"创建方法以将更新直接发送到数据库"这一项将会是灰色的。保持默认,继续点击"下一步"按钮:

图20-38 【选择要生成的方法】页面

在【TableAdapter配置向导】|【向导结果】页面可以查看配置情况,点击"完成"按钮:

图20-39 【向导结果】页面

此时【数据集设计器】窗口中会显示"订单明细DataTable",里面也包括了"订单明细TabelAdapter":

图20-40 订单明细DataTable

此时,【数据源】窗口,"NorthwindDataSet"下面也多了"订单明细":

图20-41 【数据源】窗口

回到"Form1.vb【设计】"窗口,此时会看到【数据源】窗口下的"订单明细"旁边多了下拉箭头,点击下拉箭头可以看到有【DataGridView】、【详细信息】、【无】三项,保持选择【DataGridView】:

图20-42 选择某项会影响在窗体上的显示

在"订单明细"上按下鼠标左键,将它拖放到窗体上,此时窗体上多了"订单明细BindingNavigator"和"订单明细DataGridView",分别对应BindingNavigator控件和DataGridView控件:

图20-43 "订单明细"拖放到窗体的显示

如果是不包含全部主键的部分查询或者交叉查询,在【TableAdapter配置向导】|【选择要生成的方法】页面中,"创建方法以将更新直接发送到数据库"这一项将会是灰色的,那么拖放后在窗体上的显示和图20-42差不多,但是"保存"按钮那里是灰色的:

图20-44 "保存"灰色

运行程序,就可以在DataGridView控件中显示查询的数据:

图20-45 显 示查询数据

此时,DataGridView控件默认是可以编辑的,添加、修改或删除后,按下"保存"按钮就可以将变化后的数据保存下来。

如果要修改查询的SQL语句,可以进入"数据集设计器"窗口,单击"订单明细DataTable"下面"订单明细TabelAdapter"的"Fill,GetData()",右侧【属性】窗口内,点击"CommandText"后面的按钮:

图20-46 "Fill,GetData()"属性

此时弹出【查询生成器】窗口,在里面可以添加查询表、选择显示字段、输入SQL语句、显示查询结果等:

图20-47 【查询生成器】窗口

修改好SQL语句后,按下"确定"按钮完成修改。

同第20.4.2节,整个过程简单,基本不用键盘输入,快捷方便地将数据显示出来,适合快速开发显示数据的项目。

顺带一提的是,如果在【数据源】窗口,将"订单明细"选择为【详细信息】,那么拖放到窗体上,将不会显示DataGridView,而显示为单条记录的内容:

图20-48 【详细信息】时拖放到窗体上的显示

而且【数据源】窗口,"订单明细"下面的每个字段都可以设置显示类型:

图20-49 为单个字段选择显示方式

而且每个字段都可以单独拖放到窗体上显示:

图20-50 单独字段显示

20.4.3 分页显示

在第19.5.3.6节学习了如何在DataGridView中分页显示数据,本节继续学习另外一种方法:

相关推荐
无言听风雨丶1 小时前
Redis 运维实战与排错
运维·数据库·redis
小天源3 小时前
智叟云集系统 · 架构与职责分层
服务器·前端·数据库
herinspace3 小时前
管家婆实用贴-SQL 2008如何修改成混合模式
服务器·数据库·sql·管家婆软件·财务软件·合肥管家婆软件
打螺丝的小李3 小时前
制造企业质量管理系统的三类产品形态:分别解决什么问题
数据库·制造
淡海水3 小时前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
xixingzhe24 小时前
MySQL 锁表故障排查与处理
数据库·mysql
真上帝的左手4 小时前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
为思念酝酿的痛4 小时前
MySQL表的连接
数据库·mysql
数字新视界4 小时前
机房动环监控系统在提升数据中心能效与安全中的应用探索
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
bksczm5 小时前
MySQL之存储引擎
数据库·mysql