.NET数据库编程求索之路--2.示例系统概览与设计(2)

2  示例系统概览与设计(2)

2.4  设计界面

  我们先创建一个界面原型系统,为后续具体功能的编程实现打下一个基础。启动Visual Studio 2010,单击【文件】→【新建项目】,在“新建项目”对话框中(图2-6),选择“Windows窗体应用程序”,输入项目名称 “HomeShop.WinForm”,位置“D:\”,解决方案名称“HomeShop”,然后单击【确定】。系统在D盘根目录下创建了“HomeShop”文件夹、“HomeShop.WinForm”子文件夹和相关代码文件。

 

 图2-6  新建项目

 

  在Visual Studio 2010“解决方案资源管理器”中,修改项目“HomeShop.WinForm”下的默认窗体文件Form1.cs为FormMain.cs,并新建窗体文件FormEdit.cs。项目文件结构如下图所示。

 

图2-7  项目文件结构

 2.4.1  设计订单浏览界面
  从工具箱拖拽MenuStrip、Label、TextBox、Button、DataGridView等控件到FormMain窗体,将系统主界面(订单浏览界面)设计成如图2-8所示。

   

图2-8 系统主界面(订单浏览界面)

 

  FormMain窗体及窗体中各控件的属性设置如下表。

表2-4  FormMain窗体及窗体中各控件的属性设置


控件类型


控件名称


属性名称


属性值


Form


FormMain


FormBorderStyle


FixedSingle


MaximizeBox


False


Size


600, 400


StartPosition


CenterScreen


Text


订单管理系统


MenuStrip


menuStrip


 


 


ToolStripMenuItem


menuAdd


Text


新增(&A)


menuUpdate


Text


修改(&U)


menuDelete


Text


删除(&D)


TextBox


txtCustomerName


 


 


Button


btnQuery


Text


查询(&Q)


DataGridView


gridView


AllowUserToAddRows


False


AllowUserToDeleteRows


False


MultiSelect


False


ReadOnly


True


RowHeadersWidth


10


SelectionMode


FullRowSelect

 

在FormMain窗体设计器中,右键gridView控件→单击【编辑列】(图2-9),在“编辑列”对话框中单击【添加】(图2-10),在“添加列”对话框中按照表2-5依次添加列信息。

 

 图2-9  编辑列

 

图2-10  添加列

 

 

表2-5  DataGridView控件的列


列名称


类型


页眉文本


Data属性值


Col_OrderID


DataGridViewTextBoxCoulumn


订单ID


OrderID


Col_CustomerName


DataGridViewTextBoxCoulumn


顾客姓名


CustomerName


Col_CustomerPhoneNo


DataGridViewTextBoxCoulumn


联系电话


CustomerPhoneNo


Col_CustomerAddress


DataGridViewTextBoxCoulumn


送货地址


CustomerAddress


Col_OrderTime


DataGridViewTextBoxCoulumn


下单时间


OrderTime


Col_OrderState


DataGridViewTextBoxCoulumn


订单状态


OrderState

 

添加完毕后关闭“添加列”对话框,然后在“编辑列”对话框中,按照表1-5依次对应设置列属性中DataPropertyName的值(如图2-11)。DataPropertyName属性的值指示DataGridView控件的列要绑定的数据库表(/视图/查询结果)中字段的名称。

图2-11  编辑列之设置DataPropertyName属性

2.4.2  设计订单新增/修改界面

  虽然新增和修改订单的功能是不一样,但界面表现上是一样,所以我们可以复用一个Form窗体控件。从工具箱拖拽GroupBox、Label、TextBox、DateTimePicker、ComboBox、Button、DataGridView等控件到FormEdit窗体,将新增/修改订单界面设计成如图2-12所示。

图2-12 新增/修改订单界面

FormEdit窗体及窗体中各控件的属性设置如下表。

表2-6  FormEdit窗体及窗体中各控件的属性设置


控件类型


控件名称


属性名称


属性值


Form


FormEdit


FormBorderStyle


FixedSingle


MaximizeBox


False


Size


600, 400


StartPosition


CenterParent


Text


新增/修改订单


GroupBox


grpOrderBaseInfo


Text


订单基本信息:


grpOrderProducts


Text


订购商品信息:


Enabled


False


TextBox


OrderID


Enabled


False


CustomerName


 


 


CustomerPhoneNo


 


 


CustomerAddress


 


 


OrderTotal


Enabled


False


ForeColor


DarkRed


Product


 


 


UnitPrice


 


 


Quantity


 


 


DateTimePicker


OrderTime


CustomFormat


yyyy-MM-dd HH:mm


Format


Custom


ComboBox


OrderState


DropDownStyle


DropDownList


Button


btnSaveOrderBaseInfo


Text


保存(&S)


btnProductAdd


Text


新增(&A)


btnProductUpdate


Text


修改(&U)


btnProductDelete


Text


删除(&D)


DataGridView


gridView


AllowUserToAddRows


False


AllowUserToDeleteRows


False


MultiSelect


False


ReadOnly


True


RowHeadersWidth


10


SelectionMode


FullRowSelect

 

在FormEdit窗体设计器中,右键gridView控件→单击【编辑列】,在“编辑列”对话框中单击【添加】,在“添加列”对话框中按照表2-7依次添加列信息。添加完毕后关闭“添加列”对话框,然后在“编辑列”对话框中,按照表2-7依次对应设置列属性中DataPropertyName的值。

表2-7  DataGridView控件的列


列名称


类型


页眉文本


Data属性值


Col_Product


DataGridViewTextBoxCoulumn


商品名称


Product


Col_UnitPrice


DataGridViewTextBoxCoulumn


单价


UnitPrice


Col_Quantity


DataGridViewTextBoxCoulumn


订购数量


Quantity


Col_Subtotal


DataGridViewTextBoxCoulumn


小计


Subtotal

 

2.4.3  测试界面效果

 

为了能完整看到界面的运行效果,可以在FormMain窗体设计器中双击【新增】菜单,为其添加单击事件的代码(代码2-5),创建FormEdit对象,并以模式对话框方式显示FormEdit窗体。

代码2-5 【新增】菜单单击事件


private void menuAdd_Click(object sender, EventArgs e)

{

    FormEdit formEdit = new FormEdit();

    formEdit.ShowDialog(this); //显示为模式对话框

}

然后,按下【F5】键,调试运行系统,即看到运行状态下的系统主界面(图2-13),单击菜单【新增】即可看到运行状态下的新增/修改订单界面(图2-14)。

 

图2-13 系统运行-订单浏览界面

 

图2-14 系统运行-新增/修改订单界面

 

2.5 小结

  本章对示例系统(订单管理系统)功能进行了概览,设计了系统的数据库,并利用SQL脚本方式在SQL Server 2005中创建了数据库。然后,利用Visual Studio 2010设计了系统界面原型。后续章节将在此基础上,由浅入深,逐步探索各种数据库编程实现方式。

 

转载请注明:【 夏春涛 email: xchuntao@163.com  blog: http://www.cnblogs.com/SummerRain

时间: 2024-07-29 09:28:02

.NET数据库编程求索之路--2.示例系统概览与设计(2)的相关文章

.NET数据库编程求索之路--2.示例系统概览与设计(1)

2  示例系统概览与设计(1) 本章首先向你介绍一个贯穿全书的小型示例系统(订单管理系统),然后引导你完成系统数据库和界面的设计.创建工作. 本章主要内容: 系统概览 设计数据库 创建数据库 设计界面 2.1  示例系统概览 示例非常简单,是一家商店用的订单管理系统.你可以把这家商店想象成一个家居用品商店,顾客在商店里体验并挑选中意的商品,售货员记录顾客的联系方式.订购的商品并收取定金,然后通知仓库配货和发货,最后顾客收到货物并支付尾款,交易完成.我们的订单管理系统是辅助售货员工作的程序,它在主

.NET数据库编程求索之路--1.引子

长期做.NET MIS系统开发,打交到最多还是数据库.闲来无事,朝花夕拾,将.NET数据库编程一路走来的经验整理并与朋友分享一下.以一个小小的订单管理系统为例,采用代码实战的方式,计划分享如下内容: 1.不分层,采用SQL语句实现数据访问: 2.基于三层架构,使用DataTable传递数据: 3.基于三层架构,使用List传递数据: 4.基于三层架构,使用List传递数据:采用存储过程实现数据访问: 5.基于工厂模式,实现数据库可切换(以SQL和Access为例): 6.采用LinqToSQL实

.NET数据库编程求索之路--3.使用ADO.NET实现(SQL语句篇)(1)

3.使用ADO.NET实现(SQL语句篇)(1) ADO.NET是.NET平台的数据访问技术体系,其是微软在COM時代奠基的OLE DB技術发展而来的.微软在OLE DB之上建立了一个很好的数据存取模型ADO,并被业界接受,如VC6.0.Delphi5/6等都使用ADO数据存取技术.ADO.NET继承了ADO的优点,但它是微软在.NET平台下采用全新的架构和理念构建的.ADO.NET主要通过Connection(连接对象) .Command(命令对象) .Parameter(Sql参数) .Da

.NET数据库编程求索之路--7.使用ADO.NET实现(工厂模式-实现多数据库切换)(4)

  7.使用ADO.NET实现(工厂模式-实现多数据库切换)(4) 7.7 业务逻辑层HomeShop.BLL OrderBiz.cs View Code  1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 //新添命名空间 6 using HomeShop.Model; 7 using HomeShop.DALInterface; 8 using Hom

.NET数据库编程求索之路--4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(3)

4.使用ADO.NET实现(三层架构篇-使用Table传递数据)(3)   作者:夏春涛 xchunta@163.com 转载请注明来源: http://www.cnblogs.com/SummerRain/archive/2012/07/25/2609144.html 4.4 数据访问层HomeShop.DAL OrderDAO.cs   1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 

.NET数据库编程求索之路--5.使用ADO.NET实现(三层架构篇-使用List传递数据)(1)

  5.使用ADO.NET实现(三层架构篇-使用List传递数据)(1)   5.1 解决方案框架 解决方案(.sln)包含以下几个项目: (1)类库项目HomeShop.DbUtility,数据访问实用工具:[同4.2] (2)类库项目HomeShop.Model,实体层:[同4.3] (3)类库项目HomeShop.DAL,数据访问层: (4)类库项目HomeShop.BLL,业务逻辑层: (5)WinForm项目HomeShop.WinForm,界面层.   5.2 数据访问层HomeSh

.NET数据库编程求索之路--3.使用ADO.NET实现(SQL语句篇)(2)

3.使用ADO.NET实现(SQL语句篇)(2)   3.3  FormEdit新增/修改窗体代码   代码3-3 FormEdit 窗体代码 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using

.NET数据库编程求索之路--6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(1)

6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(1)    [ 夏春涛 email: xchuntao@163.com  blog: http://www.cnblogs.com/SummerRain ] 6.1 解决方案框架 解决方案(.sln)包含以下几个项目: (1)类库项目HomeShop.DbUtility,数据访问实用工具:[同5] (2)类库项目HomeShop.Model,实体层:[同5] (3)类库项目HomeShop.DAL,数据访问层: (4)

.NET数据库编程求索之路--11.一些思考

11.一些思考   (1)分层不一定都分为不同的Project,也可以是分为不同的目录(如MVC中的Controllers和Models目录),甚至统一的后缀也是一种分层的方法(如10中划分输入验证层时使用.validater.cs后缀),分层是逻辑概念,不需要与物理概念严格对应. (2)使用partial关键词将一个较大类划分为几个较小的分部类,是降低代码耦合度,提高代码规整度的有效方式. (3)多数据库切换不是常见的需求,一般的项目中用不到,所以不要轻易就使用,避免过度设计. (4)我总感觉