1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > .NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)

.NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)

时间:2020-05-23 13:15:16

相关推荐

.NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)

.NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)

总结日期:10月10日

开发日期:7月-8月

原创版权所有,转载请注明原作者。

PS:今天晚上睡觉之前实在睡不着,还是玩一下代码再睡吧。。。如果本文体验感很差或者内容漏了不过瘾敬请谅解,内容漏了的话可以帮我补充下的啊,一起学习,再说一遍本文是原创手敲的!!!

1.概述

MyKTV点歌系统采用C/S架构(客户端Client/服务器Server),分为前台客户端和后台服务器端,添加了一些辅助功能使得系统功能更加完整,各板块协调一致,更符合实际需求。 MyKTV点歌系统主要组成部分:

(1)前台客户端(Client): MyKTV点歌系统+MyKTV超市系统+MyKTV会员系统+MyKTV包厢预定系统

(2)后台服务器端(Server): MyKTV点歌系统后台服务器端

通过本项目的开发,可以熟练掌握.NET C/S架构项目开发体系中的核心技术点,包括C#语言使用、SQL Server数据库的使用、数据提供程序的使用、WinForms窗体应用程序的使用,C# OOP常用语法、窗体控件类以及C#3.0重要特性。

2.基本环境介绍

2.1 开发环境:.NET Framework 2.5 (CLR公共语言运行时+FCL框架类库,编译器JIT,中间语言MSL)

2.2 数据库环境:SQL Server (DBS),DBMS采用SQL Server Management Studio

2.3 开发工具:Visual Studio (IDE)

2.4 开发语言:.NET平台核心语言C# 2.5/3.0,SQL语言以及基于SQL Server数据库的T-SQL扩展

3..NET平台核心技术点介绍

3.1 技术选型:C# Logic基础语法、C# OOP面向对象、XML文件解析、FTL原生框架类库,WinForms窗体应用控件、WinForms窗体控件类、 数据访问程序(通用的.NET Framework数据提供程序连接式+基于DataSet数据集的断开式访问和操作数据,后者主要用来容灾)、DBMS使用(SQL Server Management Studio )、数据库设计(概要设计E-R图、详细设计UML建模图)、SQL基本语法、T-SQL内置函数、SQL高级查询(IN/EXISTS子查询)、存储过程和触发器。

3.2 本项目是一个基于CS架构的应用程序,安装和部署方式为数据库部署安装、应用程序以可执行文件方式提供,直接可以在所有Windows平台运行(Windows XP 及以上均可直接运行),所主要涉及到的核心技术类型有三种:

(1).WinForms窗体应用程序开发:搭建窗体项目、模型类、控件事件注册

(2).数据提供程序:通过连接式和断开式访问和操作数据库

(3).SQL语法和高级进阶:对数据库数据进行CRUD操作

.NET Framework核心技术体系摘要如下:

C# Logic + C# OOP + C# 高级特性

C#基础语法

数据类型、类型转换

变量和常量

条件语句、循环语句、跳转语句

数组

命名空间

类和对象 类成员:字段、属性、方法

值传递和引用传递

访问修饰符+this关键字

冒泡排序算法

.NET框架核心体系

深入C#数据类型

使用集合组织数据

深入类的方法(方法重载、虚方法、方法重写)

初识继承和多态

深入理解多态

里氏替换原则

可扩展标记语言XML

File I/O文件操作

方法委托和Lambda表达式

默认方法、命名方法、匿名方法

.NET 三层架构设计原则

数据库设计、SQL Server数据库和T-SQL语言

数据库系统基本概念

用表组织数据

数据完整性

主键和外键

创建数据库、表、约束

用SQL语句操作数据(insert语句+update语句+delete/truncate table语句)

select语句基本组成

使用order by排序

日期函数和聚合函数

Like/Between and/IN 模糊查询

GROUP BY实现分组查询

内外全连接查询(INNER JOIN/LEFT OUTER JOIN/RIGHT OUTER JOIN/FULL JOIN)

数据库模式对象(事务、视图、索引、备份和恢复、存储过程、触发器)

数据库设计概述

三大范式设计原则(3NF)

概要设计和E-R图

详细设计和UML建模图

数据提供程序(.NET 持久层框架)

数据提供程序组成概述

数据库连接

数据库连接字符串

连接对象Connection

C#异常处理机制 try-catch-finally结构

数据库操作对象Command对象 DataReader对象

断开式数据访问和操作对象 DataAdapter对象 DataSet对象

操作存储过程和触发器

WinForms窗体应用程序(.NET CS架构应用程序核心类库)

WinForms窗体的基本概念

WinForms窗体的三要素

WinForms操作窗体的属性和方法

WinForms窗体的基本控件的使用

WinForms窗体的高级控件的使用

构建布局良好的Windows窗体

MessageBox消息框

枚举类型的使用

使用断开式访问和操作数据

WinForms窗体常用的视图控件及使用

综合运用两大核心组件访问和操作数据

DBHelper 通用数据库操作类实现源码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Data.SqlClient;

using System.Data;

namespace chapter6WinForms

{

class DBHelp

{

//数据库连接处理数据的辅助方法

//获取连接

public static SqlConnection GetConnection()

{

string strConn = "Data Source=.;Initial Catalog=MySchool;User ID=sa;Pwd=sa";

return new SqlConnection(strConn);

}

//查询单个结果

public static int GetOneResult(string sql, ref string state)

{

SqlConnection connection = GetConnection();

try

{

connection.Open();

SqlCommand command = new SqlCommand(sql, connection);

int result = (int)command.ExecuteScalar();

if (result > 0)

{

return result;

}

else

{

return -1;

}

}

catch (Exception e)

{

state = "出现异常:" + e.Message;

return -1;

}

finally

{

connection.Close();

}

}

//返回DataReader对象(查询结果集,多条记录)

public static SqlDataReader GetReader(string sql, ref string state)

{

SqlConnection connection = GetConnection();

try

{

connection.Open();

SqlCommand command = new SqlCommand(sql, connection);

return command.ExecuteReader(CommandBehavior.CloseConnection);

}

catch (Exception e)

{

state = "出现异常:" + e.Message;

return null;

}

}

//执行增删改,返回受影响的行数

public static int GetRows(string sql, ref string state)

{

SqlConnection connection = GetConnection();

try

{

connection.Open();

SqlCommand command = new SqlCommand(sql, connection);

int result = command.ExecuteNonQuery();

if (result > 0)

{

return result;

}

else

{

return -1;

}

}

catch (Exception e)

{

state = "出现异常:" + e.Message;

return -1;

}

finally

{

connection.Close();

}

}

//断开连接机制,获取SqlDataAdapter数据适配器对象

public static SqlDataAdapter GetAdapter(string sql,ref string state)

{

SqlConnection connection=GetConnection();

try

{

connection.Open();

return new SqlDataAdapter(sql, connection);

}

catch (Exception e)

{

state = "出现异常:" + e.Message;

return null;

}

finally

{

connection.Close();

}

}

//断开连接机制,获取DataTable对象

public static DataTable GetTable()

{

Sqlconnnection connection

}

}

}

4.MyKTV项目技术摘要

4.1 WinForms窗体的基本概念

1.简介 WinForms窗体是.NET Framework中不可或缺的一部分,使用WinForms窗体配合强大的IDE(集成开发环境)Visual Studio可以高效、便捷地开发出丰富多样的图形化用户界面应用程序,方便用户操作。

2.文件组成部分: Form1.cs 窗体文件 Form1.Designer.cs 窗体设计文件 Form1.resx 资源文件 Program.cs 主程序文件,包含程序的入口Main()方法

3.命名空间:System.Windows.Forms

4.继承关系:所有窗体均继承于Form窗体类,使用‘:’表示继承,窗体文件是分布的partial

4.2 WinForms窗体的三要素

WinForms窗体的三要素: 控件的属性、事件、方法

1.属性:通过设置不同控件的不同属性,可以让控件在不同情况下发挥其不同的作用,用来描述控件的特征

2.事件: 事件指的是用户对应用程序进行的不同操作(大多数由鼠标、键盘引发) 事件又称为事件驱动机制,随时响应用户触发的事件并进行相应处理的机制就是事件驱动机制。

3.方法: 方法指的是控件具有的功能,即控件能够执行的操作

4.3 WinForms操作窗体的属性和方法

Name窗体名称

Text窗体标题文本

BackColor窗体背景颜色

BackgroundImage窗体背景图像

StartPosition窗体加载时出现的位置

WindowState窗体的默认初始显示状态

TopMost窗体是否总保持在最上方(置顶)

ShowInTaskBar窗体是否在任务栏中显示

FormBorderStyle设置窗体的边框样式

MaximizeBox最大化框

MinimizeBox最小化框

Show()显示窗体

Close()关闭窗体

ShowDialog()模式化显示窗体

Hide()隐藏窗体

※技巧:

1.设置窗体显示在屏幕中央 StartPosition:CenterScreen

2.默认最大化显示: WindowState:Maximized

3.窗体不允许被拖拽 FormBorderStyle:FixedSingle

4.窗体间的数据传递:添加公有字段实现

4.4 WinForms窗体的基本控件的使用(具体每个控件三要素组件自行百度)

常用基本控件: Label标签

TextBox文本框

ComboBox组合框

Button按钮

RadioButton单选按钮

GroupBox分组框

Panel面板

DateTimePicker日期控件

Windows MediaPlayer 媒体播放器

PictureBox 图片框

Timer 计时器

MenuStrip菜单栏

ContextMenuStrip快捷菜单栏

ToolStrip工具栏

ImageList 图像列表

SplitContainer 拆分器

4.5 构建布局良好的Windows窗体

窗体控件排列方式: 对齐、Anchor属性、Dock属性

显示窗体的方式: 模式窗体ShowDialog() 非模式窗体Show()

关闭窗体的方式: Application.Exit(); this.Close();

窗体间的关联: SDI单文档界面应用程序 MDI多文档界面应用程序

MDI父窗体 MDI子窗体 设置MDI窗体的步骤

注意:MDI窗体中不允许使用ShowDialog()模式化显示窗体

窗体间信息传递:通过定义公有字段实现

窗体的跳转:实例化窗体类对象,调用显示窗体的方法Show() 或 ShowDialog()

4.6 MessageBox消息框

弹出消息框: MessageBox.Show(“要显示的字符串”,“消息框标题”,MessageBoxButtons消息框按钮,MessageBoxIcon消息框图标); 返回值DialogResult类型,DialogResult类型是一个枚举类型

4.7 枚举

1.枚举的基本概念

2.定义枚举的语法

4.8 使用断开式访问和操作数据

1.DataSet数据集的概念、核心思想、组成部分

2.定义DataSet数据集的语法

3.区分DataTable\DataColumn\DataRow

4.区分Tables\Columns\Rows

5.DataAdapter数据适配器的概念、属性、方法

6.定义DataAdapter数据适配器的语法

7.使用断开式访问操作数据的主要步骤

8.DataView数据视图的概念,创建DataView对象的方式

9.使用DataView实现数据筛选和排序的步骤

10.DataSet/DataTable/DataView三者之间的关系

11.使用断开式访问和操作数据库中数据的优缺点

4.9 WinForms窗体常用的视图控件及使用

1.ListView 列表视图

ListView列表视图的作用

ListView列表视图的属性、事件、方法

ListView的五种视图模式

2.DataGridView 数据网格视图

DataGridView 数据网格视图常用的属性

DataGridView数据网格视图中的列Column的常用属性

3.TreeView树状视图

TreeView树状视图的常用属性、事件

TreeNode树状视图中树节点对象的常用属性

5.0综合运用两大核心组件访问和操作数据

连接式访问和操作数据: Connection\Command\DataReader

Command对象常用方法: ExecuteNonQuery()执行增删改不返回行的操作,返回受影响的行数int类型

ExecuteScalar()返回查询结果中第一行第一列的单个值Object类型,需要进行类型转换

ExecuteReader()返回DataReader对象

断开式访问和操作数据: Connection\DataAdapter\DataSet

MyKTV源码已上传本人的GitHub平台,欢迎下载。

附:MyKTV项目开发进度安排(7月-8月):

原创版权所有,转载须注明原作者。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。