第1章 项目简介 (1)
1.1 项目和开发环境介绍 (1)
1.1.1 为什么学习该项目 (1)
1.1.2 开发环境介绍 (2)
1.2 系统运行 (2)
1.2.1 准备项目所需数据库 (2)
1.2.2 运行学生选课系统 (5)
1.3 认识项目 (6)
1.3.1 项目功能介绍 (6)
1.3.2 熟悉项目数据库中的表 (13)
1.3.3 数据库中表之间的关系 (15)
实训 (17)
第2章 主窗体开发 (21)
2.1 项目构成 (21)
2.1.1 创建项目 (21)
2.1.2 认识Program.cs文件 (23)
2.2 主窗体设计 (24)
2.2.1 主菜单(MenuStrip) (24)
2.2.2 工具栏(ToolStrip) (27)
2.2.3 状态栏(StatusStrip) (29)
2.2.4 多文档界面(MDI)应用程序主窗体设计 (31)
实训 (33)
第3章 数据维护窗体开发 (34)
3.1 系部数据维护 (34)
3.1.1 创建数据集并添加到系部表 (34)
3.1.2 设计系部信息窗体并维护数据 (37)
3.2 班级数据维护 (42)
3.2.1 修改数据集并添加到班级表 (42)
3.2.2 设计班级信息窗体并维护数据 (43)
3.3 学生数据维护 (49)
3.3.1 修改数据集并添加到学生表 (49)
3.3.2 设计学生信息窗体并维护数据 (49)
3.4 课程数据维护 (54)
3.4.1 设计课程信息窗体 (54)
3.4.2 维护课程数据 (55)
实训 (60)
第4章 系统登录及权限管理 (61)
4.1 系统登录 (61)
4.1.1 设计登录窗体 (61)
4.1.2 编写静态类供全局使用 (62)
4.1.3 编写登录相关代码 (65)
4.2 权限管理 (67)
4.2.1 登录信息 (67)
4.2.2 操作权限控制 (68)
实训 (69)
第5章 学生选课 (70)
5.1 选课填报志愿 (70)
5.1.1 界面设计 (70)
5.1.2 实现选课业务逻辑 (78)
5.1.3 实现DataGridView拖放行确定选课志愿顺序 (83)
5.2 查询报名结果 (87)
5.2.1 界面设计 (87)
5.2.2 相关代码编写 (87)
实训 (90)
第6章 选课抽签及抽签结果查询 (92)
6.1 随机抽签产生选课结果 (92)
6.1.1 设计存储过程 (92)
6.1.2 调用存储过程 (95)
6.2 按课程查看选课结果 (96)
6.2.1 界面设计 (97)
6.2.2 相关代码编写 (97)
实训 (100)
第7章 统计查询 (102)
7.1 按班级性别统计学生人数 (102)
7.1.1 界面设计 (102)
7.1.2 相关代码编写 (103)
7.2 未选课学生统计 (106)
7.2.1 界面设计 (106)
7.2.2 相关代码编写 (107)
实训 (110)
第8章 RDLC报表 (111)
8.1 打印来自原始表的数据 (111)
8.1.1 创建报表 (111)
8.1.2 准备预览报表窗体 (124)
8.1.3 调用报表 (125)
8.2 打印来自自定义表的数据 (127)
8.2.1 修改数据集,准备报表所需的DataTable (127)
8.2.2 创建报表 (129)
8.2.3 调用报表 (132)
实训 (134)
第9章 系统完善 (135)
9.1 设计关于窗体 (135)
9.1.1 设置项目属性 (135)
9.1.2 设计窗体 (137)
9.2 异常 (139)
9.2.1 异常的概念 (139)
9.2.2 异常的处理 (139)
9.3 DataGridView单击列标题时取消排序 (141)
9.3.1 通过可视化方式设定DataGridView的所有列不排序 (141)
9.3.2 通过编写通用方法设定DataGridView的所有列不排序 (142)
9.3.3 调用方法禁止DataGridView单击列标题时排序 (142)
9.4 Singleton模式 (142)
9.4.1 Singleton模式的概念 (142)
9.4.2 用Singleton模式防止MDI子窗体的多实例化 (143)
实训 (144)
第10章 控件开发 (145)
10.1 用户控件 (145)
10.1.1 开发用户控件 (145)
10.1.2 使用用户控件 (150)
10.2 复合控件 (151)
10.2.1 开发登录系统的复合控件 (152)
10.2.2 使用复合控件实现系统登录 (154)
实训 (156)
第11章 LINQ查询技术 (157)
11.1 LINQ TO Object (157)
11.1.1 LINQ TO Object简介 (157)
11.1.2 使用LINQ TO Object (158)
11.2 LINQ TO DataSet (163)
11.2.1 LINQ TO DataSet简介 (163)
11.2.2 使用LINQ TO DataSet (163)
11.3 LINQ TO SQL (165)
11.3.1 LINQ TO SQL简介 (165)
11.3.2 使用LINQ TO SQL (165)
实训 (168)
第12章 使用ClickOnce部署项目 (170)
12.1 发布前的准备 (171)
12.1.1 配置IIS (171)
12.1.2 更改项目图标 (173)
12.2 发布 (174)
12.2.1 发布项目 (174)
12.2.2 测试发布项目 (175)
实训 (176)
附录A 网上购物系统及其数据库简介 (177)
A.1 网上购物系统介绍 (177)
A.1.1 网上购物系统功能介绍 (177)
A.1.2 为什么通过网上购物系统学习SQL Server (177)
A.2 运行网上购物系统 (178)
A.2.1 准备网上购物系统所需数据库 (178)
A.2.2 运行网上购物系统 (180)
A.2.3 网上购物系统功能介绍 (183)
A.3 网上购物系统使用的数据库eShop (195)
A.3.1 初步认识网上购物系统使用的数据库eShop (195)
A.3.2 数据库中表之间的关系 (198)
Visual Studio 2015是一套完整的开发工具,可用于开发生成Windows桌面应用程序、ASP.NET Web 应用程序、XML Web Services和移动应用程序。
Visual Studio 2015支持Visual Basic、Visual C#和Visual C++,都使用相同的集成开发环境(IDE),这样就能够进行工具共享,并能够轻松地创建混合语言解决方案。
本书主要讲解使用Visual Studio 2015(C#)开发基于数据库应用的Windows窗体应用程序。
为什么开发Windows项目呢?Windows窗体应用程序具备界面友好、功能丰富的特点,加上智能客户端部署功能,可使客户端自动升级更新到最新程序。
为什么使用数据库项目呢?市场上需求的软件,如各种ERP软件、财务软件、游戏软件等基本上都和数据库有关,所以开发数据库系统具有广泛的实用性。
本书以实训为主,力求步骤明确,指导读者完成项目的开发,对单个知识点并不做详细介绍,对某项具体技术或概念的阐述读者可参考相关的MSDN。
本书主要由以下各章构成。
第1章 项目简介,准备好开发环境,认识本书教学所用项目的功能,了解项目使用的数据库中各表的含义以及表之间的关系。
第2章 主窗体开发,通过创建新的Windows窗体应用程序和主窗体的开发,让读者熟悉Visual Studio 2015集成开发环境(IDE)的常用元素;通过主窗体的开发,读者将学会如何使用菜单、工具栏、状态栏、MDI窗体。
第3章 数据维护窗体开发,通过学习各种常用数据维护的方式掌握使用类型化数据集。以系部数据维护为例,学会以DataGridView的方式维护单表数据;以班级数据维护为例,学会在DataGridView中使用下拉列表维护带主外键关系表的数据;以学生数据维护为例,学会使用详细信息的方式维护数据,熟练使用数据绑定类型的下拉列表和固定值的下拉列表,以及DateTimePicker(日期)控件的使用;以课程数据维护为例,学会自己控制新增、修改、删除等数据维护方式。
第4章 系统登录及权限管理,学习开发系统启动窗体,开发登录验证窗体以及权限的控制。
第5章 学生选课,通过该功能的学习,希望读者能灵活编程来实现自己的业务逻辑,以及学习DataGridView的一些使用技巧。
第6章 选课抽签及抽签结果查询,通过该功能的实现,让读者学会如何通过调用存储过程的方式实现业务逻辑。
第7章 统计查询,通过该功能的学习,希望读者能灵活使用SQL语句,学会编写代码对DataSet进行细节的控制。
第8章 RDLC报表,学习如何设计RDLC报表,如何为报表提供数据,如何调用并运行报表,包括如何实现打印来自原始表、自定义表的数据。RDL(Report Definition Language)是报表定义语言的缩写。微软后来又提出RDLC,即在RDL基础上加C,C代表Client-side processing完善的结果,同时也凸显了RDLC的客户端处理能力。
第9章 系统完善,学习如何开发系统“关于”框、使用程序集信息、异常处理、DataGridView单击列标题时取消排序、用Singleton模式防止MDI子窗体的多实例化等小技巧。
第10章 控件开发,学习开发用户控件和复合控件,设置控件开发过程中的属性(Property)和事件(Event),能根据自己的需要开发适合的控件。
第11章 LINQ查询技术,掌握LINQ 的常用技术,包括LINQ TO DataSet、LINQ TO SQL、LINQ TO Object。
语言集成查询(LINQ)是Visual Studio 2015中的一组功能,可为C#和Visual Basic语言语法提供强大的查询功能,可以对其技术进行扩展,以支持几乎任何类型的数据存储,而不仅限于对数据库进行操作。
第12章 使用ClickOnce部署项目,读者可学会使用ClickOnce技术部署智能客户端。
ClickOnce是一项部署技术,我们可以利用这项技术来创建基于Windows的自行更新的应用程序。安装和运行这类应用程序所需的用户交互最少。
ClickOnce应用程序可以自行更新,这些应用程序可以在较新版本可用时检查是否存在较新版本,并自动替换所有更新后的文件。
附录A 网上购物系统及其数据库简介,介绍Visual Studio 2015开发Web项目的强大功能,帮助读者了解网上购物系统的各项功能,认识网上购物系统配套的数据库eShop。
本书所要求的开发环境:Visual Studio 2015、SQL Server 2005/2008/2012/2014。考虑到读者机器环境的通用性,本书所带示例数据库为SQL Server 2005版本,在SQL Server 2005/2008/2012/2014下都可使用。
本书附录所要求的开发环境:Visual Studio 2015、SQL Server 2014。
本书由深圳职业技术学院曾建华、赵明编写。曾建华负责本书各章的结构及内容的编写和项目开发,本书各章节的代码由赵明调试并通过。本书在编写过程中,得到了徐人凤老师的指导和支持。此外,李斌、杨丽娟、李云程、王梅、杨淑萍、范新灿、肖正兴、裴沛、袁梅冷、梁雪平和庄亚俊等,参与了本书部分章节内容的编写和校对工作。在此一并表示感谢。
为了方便教师教学,本书配有电子教学课件及程序源代码,请有此需要的教师登录华信教育资源网(www.hxedu.com.cn)注册后免费进行下载。如有问题可在网站留言板留言或与电子工业出版社联系(E-mail:hxedu@phei.com.cn),也可与作者联系(E-mail:237021692@qq.com)。
本书是在编者总结多年教学、项目开发的基础上编写而成的,编者在探索教材建设方面做了许多努力,也对书稿进行了多次审校,但由于编写时间及水平有限,难免存在一些疏漏和不足,希望同行专家和读者能给予批评和指正。
编 者
这本书确实让我看到了在.NET环境下进行数据库开发的可能性,尤其是在Visual Studio 2015这个相对成熟的平台下。我之前一直以为数据库开发主要集中在SQL Server Management Studio或者专门的数据库IDE里,但这本书巧妙地将开发环境与数据库设计紧密结合起来。它展示了如何直接在Visual Studio中创建和管理数据库项目,这对于那些习惯了统一开发工具链的开发者来说,无疑大大提高了效率。 书中对C作为后端语言在数据库交互方面的应用做了深入的阐述。我一直觉得C在.NET生态中的强大在于其丰富的类库和优秀的性能,而这本书则进一步挖掘了它在数据访问层(DAL)构建上的潜力。通过各种代码示例,我能够清晰地理解如何利用ADO.NET、Entity Framework等技术,优雅地处理数据库连接、查询、插入、更新和删除等操作。特别是Entity Framework的部分,它将ORM(对象关系映射)的概念介绍得非常透彻,让我能够用面向对象的方式来操作数据库,极大地简化了复杂的SQL语句编写,也降低了出错的概率。 此外,这本书在项目结构设计和代码组织方面也给我留下了深刻的印象。一个良好的数据库项目不仅仅是写出能工作的代码,更重要的是要有一个清晰、可维护的架构。书中关于如何划分不同的层(如数据访问层、业务逻辑层、UI层)的建议,以及如何实现这些层之间的解耦,都非常有指导意义。例如,它讲解了如何使用依赖注入(DI)来管理数据访问对象的生命周期,这对于构建可测试、可扩展的应用程序来说至关重要。虽然我目前的项目规模还不大,但这些设计原则为我未来的项目奠定了坚实的基础。 这本书还提供了一些关于数据库性能优化的实用技巧,这是我之前接触的数据库入门资料中很少深入探讨的。书中关于索引的创建和使用、查询语句的优化、以及如何利用数据库自带的性能分析工具来查找瓶颈,都让我受益匪浅。我记得其中有一个章节详细讲解了如何通过分析执行计划来理解SQL查询的执行过程,并据此进行优化。这对于我处理日益增长的数据量和提升应用程序的响应速度非常有帮助。 最后,这本书的实战性非常强,它不仅仅停留在理论层面,而是通过大量的项目案例来展示如何将各种技术整合应用。从创建一个简单的联系人管理系统,到构建一个更复杂的电子商务后台,书中提供的案例都循序渐进,能够让读者一步步地掌握数据库开发的全过程。特别是书中关于异常处理和错误日志记录的章节,对于构建健壮的应用程序至关重要。它教会了我如何预见和处理可能出现的数据库错误,并提供了一种有效的日志记录机制,这对于日后排查问题非常有帮助。
评分作为一名C开发者,我一直对如何更高效、更安全地与数据库打交道感到好奇,而这本书恰好填补了我在这方面的知识空白。它并非仅仅是介绍SQL语法,而是将Visual Studio 2015这个强大的IDE作为核心,将数据库的设计、开发和集成过程有机地结合起来。我发现,以前在SQL Server Management Studio里独立完成的很多数据库任务,现在都可以无缝地集成到Visual Studio的项目中,这使得整个开发流程更加连贯和高效。 书中对SQL Server作为目标数据库的特性进行了详细的介绍,并着重讲解了如何利用C代码来充分发挥这些特性。我了解到,不仅仅是基础的CRUD操作,即使是存储过程、触发器、视图等更高级的数据库对象,都可以通过Visual Studio的项目模板和代码来方便地创建和管理。书中提供的代码示例非常贴近实际开发场景,让我能够快速地理解如何将这些数据库特性应用到我的项目中,从而提升数据的处理能力和安全性。 我特别欣赏书中关于数据安全方面的讲解。在Web开发日益普及的今天,数据安全已经成为重中之重。这本书详细地介绍了如何防止SQL注入攻击,如何进行安全的连接字符串管理,以及如何合理地使用数据库用户权限等。这些都是开发者必须掌握的基本功,而这本书用清晰易懂的方式将这些知识传授给了我,让我能够更加自信地进行数据库开发。 这本书还提供了一些关于数据库部署和版本控制的宝贵建议。在我看来,一个完整的数据库开发生命周期,不仅仅是编写代码,还包括如何将开发好的数据库结构部署到生产环境,以及如何进行版本管理以应对未来的更新和回滚。书中关于如何使用SQL Server Data Tools (SSDT)进行数据库部署的讲解,以及如何将数据库项目纳入版本控制系统(如Git)的流程,都为我提供了一个完整的解决方案。 另外,这本书的语言风格非常适合有一定C基础的开发者。它避免了过于晦涩的技术术语,而是用一种平实易懂的方式来讲解复杂的概念。同时,书中提供了大量的图表和代码片段,使得理解过程更加直观。我能够通过实际操作来验证书中的知识点,并将其应用到我的实际项目中,这种学习方式让我感到非常高效和有成就感。
评分坦白说,起初我选择这本书,是因为我的工作需要,我需要熟练掌握Visual Studio 2015环境下的数据库开发技术,尤其是C语言的应用。这本书就像是一本“瑞士军刀”,将我可能需要的各种工具和方法都打包了进去。我原本以为数据库开发就是写SQL语句,但这本书让我意识到,在一个完整的应用程序开发过程中,数据库部分的设计和实现同样至关重要,而且有许多值得深入研究的领域。 它非常系统地讲解了如何从零开始构建一个数据库项目,包括数据库的创建、表的定义、字段属性的设置、约束的添加等。我印象最深的是关于数据类型选择的章节,书中详细对比了各种数据类型的优劣,以及在不同场景下的最佳实践。这对我过去经常随意选择数据类型的情况有了很大的改观,让我能够更严谨地设计数据库结构,从而避免潜在的数据存储和查询问题。 书中对于C与SQL Server之间交互的讲解,也非常细致。我学会了如何利用C中的各种类库,例如`System.Data.SqlClient`,来执行SQL命令,处理查询结果。更重要的是,它深入讲解了如何使用Entity Framework Core,这是一种非常强大的ORM框架,能够将数据库表映射到C对象,大大简化了数据访问层的开发。通过ORM,我可以完全用面向对象的方式来操作数据库,而无需编写大量的SQL代码,这极大地提高了开发效率,并且减少了SQL语法错误的发生。 除了基本的数据库操作,这本书还涉及到了一些高级的主题,比如事务处理、存储过程、函数以及触发器的使用。这些内容对我来说是全新的,书中通过大量的代码示例,让我能够清晰地理解这些概念的实际应用,以及它们在提升数据一致性和业务逻辑复杂性方面的作用。例如,关于事务处理的讲解,让我明白如何在多个数据库操作之间保证原子性,避免数据不一致的情况发生。 总的来说,这本书为我提供了一个非常扎实的数据库开发基础,并且让我看到了在Visual Studio 2015这个平台上进行高效数据库开发的多种可能性。它不仅仅是一本技术书籍,更像是一位经验丰富的导师,循序渐进地引导我掌握数据库开发的各项技能。
评分在我阅读这本书之前,我对数据库的理解主要停留在“存储数据”的层面,而这本书则让我看到了数据库在整个软件生命周期中的核心地位。Visual Studio 2015作为开发平台,为数据库项目提供了一个高度集成的环境,这使得数据层的设计和实现与应用程序的其他部分能够更紧密地协同工作。我过去常常觉得数据库设计是独立于应用程序开发的,但这本书彻底颠覆了我的这种认知。 它非常细致地讲解了如何利用C语言与SQL Server进行交互,并且重点突出了如何通过代码来保证数据的一致性和完整性。我学会了如何编写健壮的数据访问代码,如何有效地处理数据库连接和命令,以及如何解析和应用查询结果。书中关于如何使用`SqlDataReader`和`DataTable`来处理数据,以及如何利用参数化查询来防止SQL注入攻击,都给我留下了深刻的印象。 让我感到惊喜的是,这本书并没有回避像索引、视图、存储过程等数据库的进阶话题,而是用清晰易懂的方式进行了讲解。我了解到,合理的索引设计可以极大地提升查询性能,而视图和存储过程则能有效地封装业务逻辑,提高代码的可维护性。书中提供的实例,都能够帮助我理解这些概念如何在实际项目中得到应用。 这本书在项目结构和代码组织方面也给出了很多实用的建议。我学会了如何通过创建不同的类库来划分数据访问层、业务逻辑层和表示层,以及如何利用接口和抽象类来实现层与层之间的解耦。这种良好的项目结构,不仅能够提高代码的可读性和可维护性,也为后续的功能扩展和团队协作奠定了基础。 此外,书中还强调了数据库的测试和优化。我了解到,仅仅编写能够工作的代码是不够的,还需要对数据库进行充分的测试,以确保其稳定性和性能。书中介绍的各种测试方法,以及如何利用Visual Studio的性能分析工具来定位和解决数据库性能瓶颈,都让我对如何构建高性能的数据库应用有了更深的认识。
评分这本书如同一扇窗户,让我看到了在Visual Studio 2015环境下,使用C进行数据库开发的广阔天地。它不仅仅是关于如何编写SQL语句,而是将整个数据库开发流程,从设计、编码、调试到部署,都进行了系统性的阐述。作为一名开发者,我一直认为,一个应用程序的成功,离不开一个强大而稳定的数据支撑,而这本书恰恰为我提供了实现这一目标的工具和方法。 它详细地介绍了如何利用C语言来操作SQL Server数据库,尤其是在Entity Framework Core方面的讲解,让我大开眼界。ORM(对象关系映射)的概念,将数据库的表结构与C的对象模型紧密地联系起来,使得数据操作变得更加直观和面向对象。我不再需要编写大量的SQL语句,而是可以通过操作C对象来间接地操作数据库,这极大地提高了我的开发效率,并且降低了代码的复杂度。 书中对于数据库安全性方面的讲解,也让我深感警醒。SQL注入、数据泄露等安全问题,是Web应用开发中不可忽视的风险。这本书通过实际的例子,教我如何编写安全的代码,如何使用参数化查询来防止SQL注入,以及如何进行安全的数据库连接管理。这些知识对于构建健壮、可信赖的应用程序至关重要。 除了基本的CRUD操作,书中还涉及到了数据库设计中的一些关键概念,例如关系、约束、索引、视图等。它不仅仅是告诉我要怎么做,更是解释了为什么要这么做,以及这样做能带来什么样的好处。例如,关于索引的讲解,让我明白了一个精心设计的索引能够带来惊人的查询性能提升,而糟糕的索引设计则可能成为性能的瓶颈。 让我特别喜欢的是,这本书的案例都非常贴近实际开发需求,从创建用户管理系统到构建简单的电商平台,这些案例能够让我将学到的知识融会贯通,并应用到自己的项目中。这本书就像是一本实用的指南,让我能够更自信、更高效地进行Visual Studio 2015下的C数据库开发。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等,本站所有链接都为正版商品购买链接。
© 2025 windowsfront.com All Rights Reserved. 静流书站 版权所有