您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第9章C#使用ADO进行数据库编程
C#程序设计第9章使用ADO.NET进行数据库编程目录9.1概述19.2窗体设计部分29.3代码设计部分3第9章使用ADO.NET进行数据库编程本章以一个简单的访问数据库的Windows应用程序为例,向读者介绍ADO.NET框架的结构,C#数据库访问的常用方法,以及相关数据库访问对象和控件的常用属性和方法。9.1概述微软公司推出的ADO.NET是Microsoft.NETFramework的核心组件,其目的是为了从数据操作中分解出数据访问。ADO.NET的两个核心组件会完成此任务:DataSet(数据集)和.NETFramework数据提供程序,后者是一组包括Connection,Command,DataReader和DataAdapter对象在内的组件。.NETFramework数据提供程序负责与物理数据源的连接,DataSet代表实际的数据。ADO.NET的结构如图9-1所示。9.1概述9.1概述.NET数据提供程序用于连接到数据库,执行命令和查询结果。它为程序开发者处理不同类型的数据库系统提供了不同的程序类。如表9-1所示。9.1概述针对SQLServer的数据提供程序,包含的各种类,见表9-2。9.1概述9.1.1项目概述9.1.2数据库设计9.1.1项目概述本章我们要完成一个简单的多窗体的数据库应用程序—“电影荐评系统”。该系统要求向登录的用户提供如下功能:1.搜索电影,用户可以输入电影名称关键字,查看系统中包含相应关键字的电影的介绍;2.评价电影,用户可以对感兴趣的或者看过的电影,给出自己的评分和评论;3.推荐电影,向当前登录用户推荐他没看过(没评价过),其他用户评分高的电影。9.1.1项目概述“电影荐评系统”的流程图如图9-2所示。9.1.2数据库设计要完成对电影和电影评价的保存,还要记录登录的用户信息,这个简单的系统需要三张数据表来完成数据的保存。系统的表结构如下:1.filmintro(电影介绍表)•表filmintro用于保存系统所有的电影信息9.1.2数据库设计2.users(用户表)•表users用于保存系统所有的用户信息9.1.2数据库设计3.scores(电影评价表)•表scores用于保存系统所有的评价信息9.2窗体设计部分整个FSS项目,划分成主要的6个任务来完成,首先是窗体的设计,然后是各个窗体代码的完成。C#Winform应用程序的编制步骤,一般是先构建窗体,然后补充窗体上相应控件的事件过程代码,因此我们的讲解也分成两步来进行完成。本节完成对“电影荐评系统”的窗体绘制。该系统包含了5个基本窗体,分别是系统登录窗体、“导航”窗体、“搜索电影”窗体、“评价电影”窗体以及“推荐电影”窗体。9.2窗体设计部分任务9.1各窗体的设计C#Winform应用程序的编制步骤,一般是先构建窗体,然后补充窗体上相应控件的事件过程代码,因此我们的讲解也分成两步来进行完成。本任务完成对“电影荐评系统”的窗体绘制。该系统包含了5个基本窗体,分别是系统登录窗体、“导航”窗体、“搜索电影”窗体、“评价电影”窗体以及“推荐电影”窗体。9.2窗体设计部分任务9.1任务实施(一)在VisualStudio中建立Winform项目•(1)设置VisualStudio的开发语言环境–初次打开VisualStudio2008如果开发语言不是C#,可以在如果打开的VisualStudio当前针对的开发语言不是C#,那么选择菜单栏里的【工具】|【导入与导出设置(I)...】如图9-3,即打开“导入与导出设置向导”对话框,选择【重置所有设置】单选项,单击【下一步】按钮,如图9-4所示。9.2窗体设计部分任务9.1任务实施(一)在VisualStudio中建立Winform项目•(1)设置VisualStudio的开发语言环境9.2窗体设计部分任务9.1任务实施(一)在VisualStudio中建立Winform项目•(2)新建FSS项目–选择【文件】|【新建】|【项目】命令,打开“新建项目”对话框,在“模板”区域选择“Windows应用程序”,在“名称”框里输入本项目的名称“FSS”,在“位置”框里设置项目保存的路径,单击“确定”完成项目创建。操作如图9-8所示。9.2窗体设计部分任务9.1任务实施(一)在VisualStudio中建立Winform项目•(2)新建FSS项目9.2窗体设计部分任务9.1任务实施(一)在VisualStudio中建立Winform项目•(2)新建FSS项目–建立起项目后的VisualStudio界面,如图9-9所示。9.2窗体设计部分任务9.1任务实施(二)系统登录窗体模块•(1)系统登录模块概述–系统登录模块主要用于对进入“电影荐评系统”的用户进行安全性检查,以防止非法用户登录系统。验证用户名和密码,如果是合法用户,则允许登录。系统登录模块窗体布局如图9-10所示。9.2窗体设计部分任务9.1任务实施(二)系统登录窗体模块•(2)图片的插入–单击“工具箱”调板中的“PictureBox”控件,再在“Form1.cs[设计]”窗口中单击,会出现图片框控件pictureBox1。拖动周围的控制点将其缩放到合适大小。–选中pictureBox1对象,调出“属性”窗格(【视图】|【属性窗口(W)】命令,快捷键Ctrl+W),修改图片框控件“Image”属性,单击“Image”属性右侧的图标,打开“选择资源”对话框,选择【本地资源】单选按钮,单击【导入】,在打开的对话框中,找到要插入图片框的图片文件,单击【确定】完成图片插入。如图9-11所示。9.2窗体设计部分任务9.1任务实施(二)系统登录窗体模块•(2)图片的插入9.2窗体设计部分任务9.1任务实施(二)系统登录窗体模块•(3)添加其他控件–该窗体用到的主要控件如表9-6所示。9.2窗体设计部分任务9.1任务实施(三)“导航”窗体模块•(1)“导航”模块概述–“导航”窗体,也就是相当于系统的主窗体,通过主窗体可以快速地了解和使用系统支持的所有功能,使用户能够在最短的时间内掌握软件的使用。当用户通过登录模块成功地登录系统后,会进入系统的“导航”窗体,其界面布局如图9-13所示。9.2窗体设计部分任务9.1任务实施(三)“导航”窗体模块•(1)“导航”模块概述9.2窗体设计部分任务9.1任务实施(三)“导航”窗体模块•(2)添加新的窗体–新建的项目中,默认只有一个窗体文件,如果要多个窗体在一个项目中,就需要用户自己添加窗体。–打开“解决方案资源管理器”窗格,选中项目名称后,单击右键,在快捷菜单中选择【添加】|【Windows窗体】,在弹出的“添加选项”对话框的“名称”框内输入要添加的窗体名称,默认是Form2,Form3...如图9-14示。9.2窗体设计部分任务9.1任务实施(三)“导航”窗体模块•(2)添加新的窗体9.2窗体设计部分任务9.1任务实施(三)“导航”窗体模块•(3)添加控件–该窗体用到的主要控件如表9-7示。9.2窗体设计部分任务9.1任务实施(四)“搜索电影”窗体模块•(1)“搜索电影”模块概述–“搜索电影”窗体,能够根据用户在“导航”窗体“搜电影”一栏的文本框中输入的关键字,在数据库的“电影介绍表”中搜索,电影名称含有该关键字的电影,并显示在窗体对应的控件中,“搜索电影”窗体界面布局如图9-15所示。9.2窗体设计部分任务9.1任务实施(四)“搜索电影”窗体模块•(2)窗体的分区–从前面两个窗体可以看出,我们系统的窗体中都有明显的“分区”。这里用到了Panel控件,来对窗体分区。–从“工具箱”中拖入Panel控件,如图9-16所示。。9.2窗体设计部分任务9.1任务实施(四)“搜索电影”窗体模块•(3)添加控件–该窗体用到的主要控件如表9-8示。9.2窗体设计部分任务9.1任务实施(四)“搜索电影”窗体模块•(3)添加控件9.2窗体设计部分任务9.1任务实施(五)“评价电影”窗体模块•(1)“评价电影”模块概述–“评价电影”窗体,能够根据用户在“导航”窗体“评电影”一栏的文本框中输入的关键字,在数据库的“电影介绍表”中搜索,找到与关键字匹配的电影,如果存在,就把与该电影相关的所有评论显示在“评价电影”窗体的“网格视图”控件中。并允许用户插入、修改、删除相应的评论记录。–“评价电影”窗体也允许用户由“搜索电影”窗体或“推荐电影”窗体跳转过来。–其界面布局如图9-17所示。9.2窗体设计部分任务9.1任务实施(五)“评价电影”窗体模块•(1)“评价电影”模块概述9.2窗体设计部分任务9.1任务实施(五)“评价电影”窗体模块•(2)添加DataGridView控件–在工具箱中的“数据”选项列找到DataGridView控件,添加到窗体的Panel1里,添加方法和其他控件一样,需要自行拖出合适的大小。9.2窗体设计部分任务9.1任务实施(五)“评价电影”窗体模块•(3)添加控件–该窗体用到的主要控件如表9-9所示。9.2窗体设计部分任务9.1任务实施(五)“评价电影”窗体模块•(3)添加控件9.2窗体设计部分任务9.1任务实施(六)“推荐电影”窗体模块•(1)“推荐电影”模块概述–“推荐电影”窗体,能够在“电影评论表”中找出当前登录用户没有评价过的电影,然后根据其他人对电影评分的平均值,按照由高分到低分的原则,向用户列出这些电影的详细介绍信息。窗体结构和“搜索电影”几乎一样,而代码实现逻辑完全不同,其窗体布局如图9-19所示。9.2窗体设计部分任务9.1任务实施(六)“推荐电影”窗体模块•(1)“推荐电影”模块概述9.2窗体设计部分任务9.1任务实施(六)“推荐电影”窗体模块•(2)添加控件–该窗体用到的主要控件如表9-10所示。“推荐电影”模块概述9.2窗体设计部分任务9.1任务实施(六)“推荐电影”窗体模块•(2)添加控件9.2窗体设计部分任务9.1支撑知识(一)DataGridView控件•DataGridView控件是在.NETFramework2.0版中新增的,提供一种强大而灵活的以表格形式显示数据的方式。可以使用DataGridView控件来显示少量数据的只读视图,也可以对其进行缩放以显示特大数据集的可编辑视图•使用DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据。•将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需设置DataSource属性即可。在绑定到包含多个列表或表的数据源时,只需将DataMember属性设置为指定要绑定的列表或表的字符串即可。9.2窗体设计部分任务9.1支撑知识(一)DataGridView控件9.2窗体设计部分任务9.1支撑知识(一)DataGridView控件9.2窗体设计部分任务9.1支撑知识(一)DataGridView控件9.2窗体设计部分任务9.1支撑知识(二)Panel控件•panel是一个服务器端控件,也是一个容器控件。用于包含其它服务器控件或其它内容并控制这些内容的显示时机。在某些场合,这个控件是很有用的。比如在制作一个注册项很多的注册页面时,通常的做法是将所有注册项放在一个页面上,利用panel就可以实现将一个页面的内容分段显示,这样用户在注册时,感觉就好像是在访问多个页面。9.3代码设计部分完成了对五个窗体绘制的工作之后,需要为每个窗体的相关控件,添加事件过程代码,才能让用户通过窗体上的控件,来访问或修改数据库。9.3代码设计部分任务9.2“登录”窗体代码实现完成了对五个窗体绘制的工作之后,需要为每个窗体的相关控件,添加事件过程代码,才能让用户通过窗体上的控件,来访问或修改数据库。9.3代码设计部分任务9.2任务实施“登录”窗体的代码添加•(1)命名空间的引用–由于我们访问的数据库是SQLServer,访问数据库相关的数据提供程序对象都包
本文标题:第9章C#使用ADO进行数据库编程
链接地址:https://www.777doc.com/doc-1913100 .html