当前位置: 首页 > news >正文

20.4 显示数据库数据

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

20.4.1 设计时进行简单绑定

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

设计时设置DataGridViewDataSource属性,请参考第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中分页显示数据,本节继续学习另外一种方法:

相关文章:

  • rpm命令详解
  • 【通过Docker快速部署Tomcat9.0】
  • 考研单词笔记 2025.04.22
  • rgw的d3n功能配置
  • 使用Java对接StockTV全球金融数据API。马来西亚金融数据API
  • B + 树与 B 树的深度剖析
  • 【扫描件批量改名】批量识别扫描件PDF指定区域内容,用识别的内容修改PDF文件名,基于C++和腾讯OCR的实现方案,超详细
  • pdf多文件合并
  • IntelliJ IDEA 新版本中 Maven 子模块不显示的解决方案
  • 量子计算在密码学中的应用与挑战:重塑信息安全的未来
  • Eureka、LoadBalance和Nacos
  • 健身房管理系统(springboot+ssm+vue+mysql)含运行文档
  • Java 性能优化:如何在资源受限的环境下实现高效运行?
  • 盈达科技GEO解决方案:破解AI时代品牌增长困局
  • 全球化2.0 | 云轴科技ZStack亮相2025香港国际创科展
  • Linux:线程基础(虚拟地址,分页)
  • Prompt工程:大模型的「精准导航系统」
  • AXOP33552: 400MHz 高速双通道运算放大器
  • 【MATLAB第116期】基于MATLAB的NBRO-XGBoost的SHAP可解释回归模型(敏感性分析方法)
  • Maven集成模块打包使用
  • 中国与柬埔寨签署产供链经济合作谅解备忘录
  • 罗马教皇方济各去世,享年88岁
  • 马上评|治理“龟速车”,也是一次驾驶文明的升级
  • 杜甫、韦应物背后的世家大族,在这个展览上一览传奇
  • 二手服装“批发”市集受到年轻人追捧,是哪一股潮流在推动?
  • 俄总统新闻秘书:乌克兰问题谈判相当艰难