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中分页显示数据,本节继续学习另外一种方法: