ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

数据库应用程序的可视化设计

数据库应用程序的可视化设计 学习目标C#数据库应用程序的开发环境的构成服务器资源管理器类型化数据集创建简单的数据库应用程序水晶报表Notes:类型化数据集利用服务器资源管理器建立数据连接利用服务器资源管理器可执行的任务如下1打开数据连接。2登录到服务器上并显示服务器的数据库和系统服务包括事件日志、消息队列、性能计数器、系统服务和SQL数据库。3查看关于可用Web服务的信息以及使信息可用的方法和架构。4生成到SQL Server和其他数据库的数据连接。5存储数据库项目和引用。6将节点从服务器资源管理器中拖到 Visual Studio .NET 项目中从而创建引用数据资源或监视其活动的数据组件。7通过对这些在 Visual Studio .NET 项目中创建的数据组件编程来与数据资源进行交互。直观的说1首先在数据库Sql server2019中新建一个数据库eg:students接着右击students任务数据导入操作并导入相应数据文件个eg:systudenfs;2)打开VS2013,首先启动服务器资源管理器执行菜单命令“视图”→“服务器资源管理器”即可进入服务器资源管理器第二建立数据库连接在“数据连接”上右击弹出快捷菜单选择“添加连接”命令第三类型化数据集的创建新建一个“Windows应用程序”然后在创建的项目上右击在弹出的快捷菜单上选择“添加”→“新建项”命令“模板”选择“数据集”第四对已创建的数据集单击“添加”按钮后即进入数据集窗口从服务器资源管理器中选择一个数据连接然后将该数据连接中的表拖曳到数据集设计界面经过编译就建立了一个类型化数据集。第五类型化数据集的参数化查询每个表适配器都有一个默认的Fill方法称为主Fill方法也称为主查询它定义了表的架构。1修改主查询右击相应的表适配器在弹出的快捷菜单中选择“配置”命令修改相应的SQL语句单击“完成”按钮。2创建新查询右击相应的表适配器选择“添加查询”命令按默认向导进入使用SQL语句编辑窗口见图5-19并编写SQL语句单击“下一步”按钮将“方法名”改为“FillByDeptID”即可。EG创建学生档案管理系统的类型化数据集1创建数据集DsStudentSys.xsd选择学生档案管理系统项目右击选择快捷菜单中的“添加”→“新建项”在设计界面中选择“模板”为“数据集”“名称”为“DsStudentSys.xsd”单击“添加”按钮。2为数据集添加表对象tblDept、tblClass、tblStudent打开服务器资源管理器中的数据连接依次将tblDept、tblClass、tblStudent 3张表拖曳至数据集设计界面为项目创建类型化数据集参见图5-18所示。3为表适配器tblClassTableAdapter添加参数化查询为表适配器添加参数化查询根据系部编码得到班级信息方法名为“FillByDeptID”语句为SELECT * FROM tblClass WHERE (Class_DeptID like ?)4修改表适配器tblStudentTableAdapter的主查询并添加参数化查询1修改主查询由于经常需要查看指定班级的学生信息因此需要修改主查询根据班级编码查询学生信息。右击主查询选择“配置”命令打开“TableAdapter查询配置向导”对话框修改SQL语句如下。SELECT *FROM tblStudent, tblSex, tblNation, tblNtvPlc, tblParty, tblClassWHERE tblStudent.Stu_Sex tblSex.Sex_IDAND tblStudent.Stu_Nation tblNation.Nation_IDAND tblStudent.Stu_NtvPlc tblNtvPlc.NtvPlc_IDAND tblStudent.Stu_Party tblParty.Party_IDAND tblStudent.Stu_Class tblClass.Class_IDAND tblStudent.Stu_Class ?2添加新查询在学生档案查询中有时需要对学生姓名、学号、性别进行模糊查询因此需要添加新查询以适合系统需求。新建查询方法名为“FillByNameNoSex”右击表适配器在弹出的快捷菜单中选择“添加查询”命令进入“TableAdapter查询配置向导”对话框新建查询相应SQL语句如下。SELECT *FROM tblStudent, tblSex, tblNation, tblNtvPlc, tblParty, tblClassWHERE tblStudent.Stu_Sex tblSex.Sex_IDAND tblStudent.Stu_Nation tblNation.Nation_IDAND tblStudent.Stu_NtvPlc tblNtvPlc.NtvPlc_IDAND tblStudent.Stu_Party tblParty.Party_IDAND tblStudent.Stu_Class tblClass.Class_IDAND (tblStudent.Stu_Name like ? ‘%’ )AND (tblStudent.Stu_No like ? ‘%’ )AND (tblSex.Sex_Name ? )数据库应用程序的结构与设计步骤数据库应用程序结构数据库应用程序由数据访问窗体控件、数据源控件和ADO.NET数据访问对象组成。1数据访问窗体控件典型数据访问窗体控件有DataGridView此外在第2章中介绍的许多控件如TextBox、Label、ComboBox、ListBox等也可以设置数据源关联到数据表的字段充当数据访问窗体控件。2数据源控件数据源控件是数据界面控件从数据表获取数据的通道包括DataSet控件和BindingSource控件。3ADO.NET对象数据库应用程序的设计步骤1创建解决方案的项目2添加Windows窗体3设计用户界面4创建事件处理程序和编译、调试、运行程序数据源控件与数据访问窗体控件1 BindingSource控件1BindingSource控件的作用用于简化将控件绑定到基础数据源的过程可以看作是窗体上的控件到数据的一个间接层。2BindingSource 控件的常用属性1Count获取基础列表中的总项数。2Current获取数据源的当前项。3Position获取或设置基础列表中的当前位置。4List获取 DataSource 和 DataMember 计算列表。5DataSource获取或设置连接器绑定到的数据源可以是数组、列表、数据集、数据表等。6DataMember设置用于筛选查看哪些数据表的表达式。即表示对应DateSet的哪一个或些表7Sort如果数据源为 IBindingList则获取或设置用于排序和排序顺序信息的列名。如果数据源为 IBindingListView并支持高级排序则获取用于排序和排序顺序信息的多个列名。8Filter如果数据源是 IBindingListView则会获取或设置用于过滤所查看行的表达式。3BindingSource 控件的常用方法1RemoveCurrent方法从列表中移除当前项。2EndEdit方法将挂起的更改应用于基础数据源。3CancelEdit方法取消当前的编辑操作。4Add方法将现有项添加到内部列表中。5AddNew方法向基础列表添加新项。6Insert方法将一项插入列表中指定的索引处。7MoveFirst方法移至列表中的第一项。8MoveLast方法移至列表中的最后一项。9MoveNextv方法移至列表中的下一项。10MovePrevious方法移至列表中的上一项。2BindingNavigator控件1.BindingNavigator控件的作用是一个数据记录导航控件创建了一些标准化方法供用户搜索和更改 Windows 窗体中的数据与 BindingSource 控件一起使用可以在窗体的数据记录之间移动并与这些记录进行交互。2BindingNavigator 控件包含的工具项3常用属性BindingSource属性为BindingNavigator控件绑定数据源。2Label控件1作用Label控件用于显示数据表中当前记录中的字段值。2绑定属性DataBindings属性用于绑定数据源。Text子属性用于选择数据源及字段。3TextBox控件1作用TextBox控件用于显示及编辑数据表中当前记录中的字段值。2绑定属性DataBindings属性用于绑定数据源。Text子属性用于选择数据源及字段。4ListBox控件1作用作用1用列表方式显示数据表中某字段值。作用2通过连接字段的绑定使主表如tblClass与代码表如tblStatus建立连接。2属性1DataSource选择代码表数据源绑定控件。2DisplayMember选择代码表中汉字字段。–显示出来是用哪个字段3ValueMember选择代码表中连接字段。–数据表中真实的字段值4DataBinding.SelectValue选择主表中连接字段。5ComboBox控件1作用作用1用下拉列表方式显示数据表中某字段值。作用2通过连接字段的绑定使主表如tblClass与代码表如tblDept建立连接。2属性1DataSource选择代码表数据源绑定控件。2DisplayMember选择代码表中汉字字段。3ValueMember选择代码表中连接字段。4DataBinding.SelectValue选择主表中连接字段。6DataGridView 控件DataGridView 控件提供一种强大而灵活的以表格形式显示数据的方式。用户可以使用 DataGridView 控件来显示少量数据的只读视图也可以对其进行缩放以显示特大数据集的可编辑视图。1DataGridView的数据绑定设置 DataSource 属性可以将数据绑定DataGridView 控件。注1界面操作2代码dataGridView1.DataSource tblclassBindingSource1//一般会自动绑定不用写2DataGridView的行集合Rows1Count属性: 返回数据表控件中记录行数。格式 DataGridView控件.Rows.CounttextBox3.TextdataGridView1.Rows.Count.ToString();//所有行数量2Cell[j]属性:表示记录行中第j个字段单元格。格式 DataGridView控件.Rows[i].Cells[j].Value表示数据表中第i条记录行第j个字段列的值。textBox4.TextdataGridView1.CurrentRow.Cells[2].Value.ToString();//当前Cells[2]的值是。。3Clear属性清除记录行的所有记录。格式 DataGridView控件.Rows .Clear()4Add方法向数据表控件添加记录行。格式 DataGridView控件.Rows.Add(n)其中n表示添加的记录行数。3DataGridView的当前行CurrentRowCurrentRow属性用于获取包含DataGridView控件当前的行使用方式如下。格式 DataGridView控件.CurrentRow4DataGridView控件的设计器单击DataGridView控件右上角的智能标记标志符号出现设计器。5DataGridView列的编辑单击DataGridView控件的设计器中“编辑列”选项或者在DataGridView控件的“属性”面板中单击Columns属性右侧的省略按钮即可进入“编辑列”对话框。1添加与删除字段在“编辑列”对话框左侧显示数据表字段名用“添加”与“移除”按钮可添加或删除字段。2改变字段位置单击“改变字段位置”按钮可改变字段在数据表控件中的位置顺序。3设置字段属性在“编辑列”对话框右侧为每个字段的属性编辑器。字段属性分为布局、设计、数据、外观、行为5项。1布局。AutoSizeMode自动调节字段宽度。DividerWidth列分隔线宽度。MinimumWidth列最小宽度如设置最小列宽为5。Width:当前字段宽度。2设计。① Name字段名。② ColumnType用于选择列的类型有如下类型。 DataGridViewTextBoxColumn文本。 DataGridViewButtonColumn按钮。 DataGridViewCheckBoxColumn复选。 DataGridViewComboBoxColumn下拉列表。 DataGridViewImageColumn图像。 DataGridViewLinkColumn链接。3数据DataPropertyName绑定到数据表的字段名。4外观DefaultCellStyle设置字段默认单元格样式。单击该属性右侧的按钮 进入如图5-26所示的“CellStyle单元格类型生成器”对话框可设置单元格的对齐方式、背景色、前景色等。HeaderText设置字段标题。VisibleTrue显示字段False隐藏字段。5行为ReadOnlyTrue表示字段只读False表示字段可读写。ResizeableTrue表示字段宽度可变False表示字段宽度不能改变。6DataGridView行的编辑1允许记录的增、删、改单击DataGridView控件右上角的小三角按钮打开“DataGridView任务”面板使“启用添加”“启用删除”“启用编辑”复选框为选中状态则DataGridView控件允许对记录行进行增、删、改的操作。2禁止记录的增、删、改取消“启用添加”“启用删除”“启用编辑”复选框选中状态则DataGridView控件禁止对记录行进行增、删、改的操作。3设计记录样式1RowsDefaultCellStyle属性设置记录行的显示样式。记录行的显示样式是通过单元格的外观设置实现的所以其编辑界面与“CellStyle生成器”界面相同参见图5-26。2AlternatingRowsDefaultCellStyle 属性设置记录行的交替显示效果。表格数据通常以类似账目的格式显示其中各交替行的背景颜色不同可通过设置AlternatingRowsDefaultCellStyle 属性实现交替行显示的效果。设置方法与RowsDefaultCellStyle属性相同。///单元格单击事件获取当前选择的单元格的值--以下有3种方法privatevoiddataGridView1_CellClick(objectsender,DataGridViewCellEventArgse){textBox5.TextdataGridView1.Rows.Count.ToString();//当前单元格的值textBox5.TextdataGridView1.SelectedCells[0].Value.ToString();//被选择的单元格数组的第一个的值textBox5.TextdataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();//利用下标返回值}///单元格内容点击事件--以下有3种方法privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse){textBox5.TextdataGridView1.Rows.Count.ToString();//当前单元格的值textBox5.TextdataGridView1.SelectedCells[0].Value.ToString();//被选择的单元格数组的第一个的值textBox5.TextdataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();//利用下标返回值}/*将TextBox控件和DataGridView控件绑定到BindingSource控件为BindingNavigator控件添加“加载”“保存”和“取消”按钮实现加载、保存记录和取消操作的功能。 “加载”“保存”和“取消”按钮添加事件代码分别如下(窗体运行结果如图5-22所示)*/privatevoidtsLoad_Click(objectsender,EventArgse){this.tblClassTableAdapter.Fill(this.class_DataSet.tblClass);//this.数据调用.Fill(this.dataSet数据集.表集合);}privatevoidtsSave_Click(objectsender,EventArgse){this.tblClassTableAdapter.Update(this.class_DataSet.tblClass);//this.数据调用.Fill(this.dataSet数据集.表集合);}privatevoidtsCancel_Click(objectsender,EventArgse){bindingSource1.CancelEdit();//this.数据调用.Fill(this.dataSet数据集.表集合);}
返回列表