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

发布时间:2026/8/14 5:22:16

数据库应用程序的可视化设计
学习目标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数据集.表集合);}

相关新闻

Google Pixel 11 Pro Fold 与三星 Galaxy Z Fold 8 大比拼,谁更值得买?

Google Pixel 11 Pro Fold 与三星 Galaxy Z Fold 8 大比拼,谁更值得买?

2026/8/14 5:22:16

Google 与三星夏季新品盘点如今 Google 和三星都举办了年度夏季活动,是时候盘点一下两家公司各自推出的产品了。两家都发布了新一代的书本式折叠屏手机,但三星推出了与众不同的 Samsung Galaxy Z Fold 8,它比以往的机型更短更宽。这款手机配置…

主数据同步、用户同步等

主数据同步、用户同步等

2026/8/14 5:22:16

文章目录通用方案细节同步任务标志这是个常见的需求,用户、机构等源头在主数据,各业务系统自行拉取。有两种获取方式:1、接口拉取 #2、mq实时分发 #通用方案为: 初始化时接口全量拉取后续mq实时接收 当然,mq也可以全量…

数据结构优化:从二叉树遍历到线索化实现与避坑指南

数据结构优化:从二叉树遍历到线索化实现与避坑指南

2026/8/14 5:22:16

1. 从“遍历”到“线索”:为什么我们需要线索二叉树?如果你写过二叉树的遍历代码,无论是递归还是非递归,一定对那种“走一步,退一步”的感觉印象深刻。为了访问某个节点的左子树,你得先记住它的右子树还没看…

重庆营销网站建设公司排名深度解析:为什么选对人比选便宜更重要

重庆营销网站建设公司排名深度解析:为什么选对人比选便宜更重要

2026/8/14 6:32:18

在这个数字化转型的浪潮里,许多重庆的企业老板和业务负责人都有一个共同的痛点:想做个好网站,却总被忽悠。以前大家可能觉得有个网页展示一下公司信息就万事大吉了,但现在时代变了,流量贵得吓人,获客成本越来越高,网站不再仅仅是一个线上的“名片”,而是企业获取客户、…

Windows系统文件uireng.dll丢失找不到问题解决

Windows系统文件uireng.dll丢失找不到问题解决

2026/8/14 6:32:18

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

列生成算法:大规模优化问题的核心原理与工程实践

列生成算法:大规模优化问题的核心原理与工程实践

2026/8/14 6:32:18

1. 列生成算法:从“盲人摸象”到“庖丁解牛”的运筹智慧 如果你在供应链、排班或者路径规划这些领域摸爬滚打过,大概率会听过一个词叫“大规模整数规划”。面对成千上万的决策变量和约束,常规的求解器常常会“卡死”,内存和时间都…

杰理之无法修改PA 控制IO问题处理【篇】

杰理之无法修改PA 控制IO问题处理【篇】

2026/8/14 6:32:18

void bt_rf_PA_ontrol_io_remap(u16 tx_io, u16 rx_io); 使用的是该接口

复杂自演化网络的测地线控制论:基于 4D 协变时空流形与自适应阻抗矩阵的内生安全范式

复杂自演化网络的测地线控制论:基于 4D 协变时空流形与自适应阻抗矩阵的内生安全范式

2026/8/14 6:32:18

【引言 范式转移的临界点】 当 AI 自演化集群与大模型算力呈指数级相变,随着广域分布式低轨卫星网络的极速扩展与智能化自演化集群(高阶 AI 原型)的边界突破,传统的“外部强力拦截”网络安全范式正面临物理极限:拼算力…

text2vec-large-chinese 全栈实战手册:从相似度翻车到 10 万级检索上线的 6 个关键坑

text2vec-large-chinese 全栈实战手册:从相似度翻车到 10 万级检索上线的 6 个关键坑

2026/8/14 6:22:18

text2vec-large-chinese 全栈实战手册:从相似度翻车到 10 万级检索上线的 6 个关键坑 【免费下载链接】text2vec-large-chinese 项目地址: https://ai.gitcode.com/hf_mirrors/GanymedeNil/text2vec-large-chinese 如果你的工作里出现过下面任何一个场景——…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/13 11:01:28

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/11 8:44:43

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/13 17:17:06

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

大连网站建设找简维科技:为您打造懂业务更懂用户的数字化转型引擎

大连网站建设找简维科技:为您打造懂业务更懂用户的数字化转型引擎

2026/8/14 0:01:53

在这个数字化浪潮席卷全球的今天,企业想要在激烈的市场竞争中站稳脚跟,拥有一张好看的“数字名片”已经远远不够了。很多老板在刚开始接触互联网业务时,都有一个共同的困惑:为什么我花了钱建的网站,就像是在真空中自嗨?访客进来转了两圈就跑了,线索石沉大海,甚至连客服…

临沂网站建设铭镇:深耕本土数字生态,以匠心铸就企业品牌核心竞争力

临沂网站建设铭镇:深耕本土数字生态,以匠心铸就企业品牌核心竞争力

2026/8/14 0:01:54

在这个流量为王、视觉至上的互联网时代,对于临沂乃至整个山东乃至全国的传统中小企业来说,拥有一张精美的“数字名片”早已不再是可选项,而是生存的必答题。每当夜幕降临,沂河两岸灯火辉煌,物流之都的喧嚣逐渐沉淀为对未来的思考。我们常常听到老板们在茶余饭后探讨:为什…

Flutter与OpenHarmony实现剧本杀组队表单开发实战

Flutter与OpenHarmony实现剧本杀组队表单开发实战

2026/8/14 0:01:54

1. 项目概述在移动应用开发领域,跨平台框架Flutter因其高效的开发体验和出色的性能表现,已经成为众多开发者的首选。而OpenHarmony作为新兴的操作系统平台,其开放性和灵活性为开发者提供了全新的可能性。本文将聚焦于一个实际应用场景——剧本…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/9 13:42:46

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…