第7章 WebShop商品管理模块的设计与实现_第1页
第7章 WebShop商品管理模块的设计与实现_第2页
第7章 WebShop商品管理模块的设计与实现_第3页
第7章 WebShop商品管理模块的设计与实现_第4页
第7章 WebShop商品管理模块的设计与实现_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、WindowsWindows程程 序设计序设计 (C#2.0)(C#2.0)实实 例教程例教程 第7章 WebShop商品管理模块的设计与实现 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 本章学习导航本章学习导航 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 本章学习要点本章学习要点 l ListBox控件的使用控件的使用 l ComboBox控件的使用控件的使用 l DataAdapter+DataSet访问数据库的方法访问数据库的方法 l DateTimePicker控件的使用控件的使用 l 商品

2、信息的输入和修改处理商品信息的输入和修改处理 l 通用数据库访问类的设计通用数据库访问类的设计 l 应用程序配置文件应用程序配置文件App.config的使用的使用 教学课时:教学课时:8课时课时 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 任务描述 本章主要任务是完成本章主要任务是完成WebShop后台管理系统的后台管理系统的“商品添加商品添加”和和“商品修改商品修改”的界的界 面设计和功能实现。面设计和功能实现。 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.1 ListBox控件 Lis

3、tBox 控件显示一个项列表,用户可从中选择一项或多项。如果控件显示一个项列表,用户可从中选择一项或多项。如果 项总数超出可以显示的项数,则自动向项总数超出可以显示的项数,则自动向 ListBox 控件添加滚动条。当控件添加滚动条。当 MultiColumn 属性设置为属性设置为 true 时,列表框以多列形式显示项,并且时,列表框以多列形式显示项,并且 会出现一个水平滚动条。当会出现一个水平滚动条。当 MultiColumn 属性设置为属性设置为false 时,列表时,列表 框以单列形式显示项,并且会出现一个垂直滚动条。当框以单列形式显示项,并且会出现一个垂直滚动条。当 ScrollAlwa

4、ysVisible 设置为设置为 true 时,无论项数多少都将显示滚动条。时,无论项数多少都将显示滚动条。 SelectionMode 属性确定一次可以选择多少列表项。属性确定一次可以选择多少列表项。 可以在设计时使用可以在设计时使用 Items 属性向列表添加项。如果要在运行时在属性向列表添加项。如果要在运行时在 ListBox 控件中添加或删除项,可以使用控件中添加或删除项,可以使用 Add、Insert、Clear 或或 Remove 方法方法 。 概述概述 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.1 ListBox控件 主要

5、属性主要属性 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.1 ListBox控件 listBox1.Items.Add(大盘花菜大盘花菜); /列表框中添加新项列表框中添加新项 listBox1.Items.Insert(0, 北京烤鸭北京烤鸭); /在列表框中列表中指定位置插入在列表框中列表中指定位置插入 字符串字符串 /将一个数组的内容赋值给将一个数组的内容赋值给Items 集合集合 Object ItemObject = new System.Object10; for (int i = 0; i = 9; i+) ItemObje

6、cti = Item + i; listBox1.Items.AddRange(ItemObject); listBox1.Items.RemoveAt(0); / 删除第删除第1项(索引为项(索引为0) listBox1.Items.Remove(listBox1.SelectedItem); /删除当前选定项删除当前选定项 listBox1.Items.Remove(北京烤鸭北京烤鸭); /删除指定项删除指定项 listBox1.Items.Clear(); /移除列表框的所有项移除列表框的所有项 用法用法 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开

7、利张开利 【例7-1】简易点菜单 该程序主要用来演示列表控件的使用。该程序模拟一个点菜系统,程该程序主要用来演示列表控件的使用。该程序模拟一个点菜系统,程 序运行时,在窗体上显示出台号和今日菜单,客人可以根据需要进行序运行时,在窗体上显示出台号和今日菜单,客人可以根据需要进行 “点菜点菜”或或“退菜退菜” 。双击。双击“今日菜单今日菜单”中的某一道菜时,将会弹出信中的某一道菜时,将会弹出信 息框,显示该菜的详细信息。最后客人的点菜情况在息框,显示该菜的详细信息。最后客人的点菜情况在“您的菜单您的菜单”中显中显 示。结帐时,单击示。结帐时,单击“打印帐单打印帐单”,将弹出信息框,并显示所点菜和菜

8、的,将弹出信息框,并显示所点菜和菜的 总价总价 。 实例说明实例说明 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-1】简易点菜单 实例运行效果实例运行效果 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-1】简易点菜单 界面设计界面设计 (1)添加用于显示菜品的列表框)添加用于显示菜品的列表框lstSource,并通过控件的,并通过控件的Items属性添加菜属性添加菜 品名称品名称 (2)完成)完成“简易点菜单简易点菜单”的其余部分的界面设计的其余部分的界面设计 WindowsWindo

9、ws程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-1】简易点菜单 功能实现功能实现 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-1】简易点菜单 功能实现功能实现 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.2 DataAdapter类 DataAdapter对象主要用来把数据源的数据填充到对象主要用来把数据源的数据填充到DataSet中,以中,以 及把及把DataSet里的数据更新到数据库。它的常用方法有构造函数、填里的数据更新到数据库。它的常用方法有构造函

10、数、填 充或刷新充或刷新DataSet的方法、将的方法、将DataSet中的数据更新到数据库里的方法中的数据更新到数据库里的方法 和释放资源的方法和释放资源的方法 。 概述概述 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.2 DataAdapter类 DataAdapter对象主要用来连接对象主要用来连接Connection对象和对象和DataSet对象。对象。 DataAdapter对象的工作步骤一般有两种,一种是通过对象的工作步骤一般有两种,一种是通过Command对对 象执行象执行SQL语句,将获得的结果集填充到语句,将获得的结果集

11、填充到DataSet对象中;另一种是对象中;另一种是 将将DataSet里更新数据的结果返回到数据库中。里更新数据的结果返回到数据库中。 适配器支持以下适配器支持以下4个属性,类型都是个属性,类型都是Command,分别用来管理数据操,分别用来管理数据操 作的作的“增增”、“删删”、 “改改”、“查查”动作。动作。 l InsertCommand属性:该属性用来向数据库中插入数据;属性:该属性用来向数据库中插入数据; l DeleteCommand属性:该属性用来删除数据库里的数据;属性:该属性用来删除数据库里的数据; l UpdateCommand属性:该属性用来更新数据库里的数据;属性:该

12、属性用来更新数据库里的数据; l SelectCommand属性:该属性用来从数据库中检索数据。属性:该属性用来从数据库中检索数据。 概述概述 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.2 DataAdapter类 以下代码能给以下代码能给DataAdapter对象的对象的selectCommand属性赋值。属性赋值。 /连接字符串连接字符串 SqlConnection myConnection; /创建连接对象创建连接对象myConnection语句语句 /创建创建DataAdapter 对象对象 SqlDataAdapter ada

13、pter=new SqlDataAdapter(); /给给DataAdapter对象的对象的SelectCommand属性赋值属性赋值 adapter.SelectCommand =new SqlCommand(SELECT U_ID, U_Name FROM Users , myConnection); /后继代码后继代码 同样,可以使用上述方式给其他的同样,可以使用上述方式给其他的InsertCommand、 DeleteCommand和和UpdateCommand属性赋值。属性赋值。 用法用法 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利

14、7.1.3 DataSet类 DataSet对象可以用来存储从数据库查询到的数据结果,由于它在获对象可以用来存储从数据库查询到的数据结果,由于它在获 得数据或更新数据后立即与数据库断开,所以程序员能用此高效地访得数据或更新数据后立即与数据库断开,所以程序员能用此高效地访 问和操作数据库。并且,由于问和操作数据库。并且,由于DataSet对象具有对象具有离线访问数据库离线访问数据库的特的特 性,所以它更能用来接收海量的数据信息。性,所以它更能用来接收海量的数据信息。 DataSet对象本身不同数据库发生关系,而是通过对象本身不同数据库发生关系,而是通过DataAdapter对象对象 从数据库里获

15、取数据并把修改后的数据更新到数据库。程序员可以通从数据库里获取数据并把修改后的数据更新到数据库。程序员可以通 过过DataApater对象对象填充填充(Fill)或或更新更新(Update)DataSet对象。对象。 DataSet对象主要用来存储从数据库得到的数据结果集,其中的对象主要用来存储从数据库得到的数据结果集,其中的 DataTable用来存储一张表里的数据,其中的用来存储一张表里的数据,其中的DataRows对象就用来表对象就用来表 示表的字段结构以及表里的一条数据,示表的字段结构以及表里的一条数据,DataView对象用来产生和对应对象用来产生和对应 数据视图。而数据视图。而Da

16、taRelation类型的对象则用来存储类型的对象则用来存储DataTable之间的之间的 约束关系。约束关系。 概述概述 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.3 DataSet类 对象模型对象模型 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.3 DataSet类 DataSetDataSet VS VS DataAdapterDataAdapter WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.3 DataSet类 基本

17、用法基本用法 DataSet对象常和对象常和DataAdapter对象配合使用。通过对象配合使用。通过DataAdapter对象,向对象,向 DataSet中填充数据的中填充数据的一般过程一般过程是:是: (1)建立数据库连接)建立数据库连接SqlConnection。 (2)创建命令对象)创建命令对象SqlCommand。 (3)创建适配器对象)创建适配器对象SqlDataAdapter。 (4)设置适配器对象的命令类型()设置适配器对象的命令类型(SelectCommand) (5)创建)创建DataAdapter和和DataSet对象。对象。 (6)使用)使用DataAdapter对象,

18、为对象,为DataSet产生一个或多个产生一个或多个DataTable对象。对象。 (7)DataAdapter对象将从数据源中取出的数据填充到对象将从数据源中取出的数据填充到DataTable中的中的 DataRow对象里,然后将该对象里,然后将该DataRow对象追加到对象追加到DataTable对象的对象的Rows集集 合中。合中。 (8)重复第()重复第(6)步,直到数据源中所有数据都已填充到)步,直到数据源中所有数据都已填充到DataTable里。里。 (9)将第()将第(6)步产生的)步产生的DataTable对象加入对象加入DataSet里。里。 WindowsWindows程序

19、设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.3 DataSet类 基本用法基本用法 DataSet对象常和对象常和DataAdapter对象配合使用。通过对象配合使用。通过DataAdapter对象,向对象,向 DataSet中填充数据的中填充数据的一般过程一般过程是:是: (1)建立数据库连接)建立数据库连接SqlConnection。 (2)创建命令对象)创建命令对象SqlCommand。 (3)创建适配器对象)创建适配器对象SqlDataAdapter。 (4)设置适配器对象的命令类型()设置适配器对象的命令类型(SelectCommand) (5)创建)创建Da

20、taAdapter和和DataSet对象。对象。 (6)使用)使用DataAdapter对象,为对象,为DataSet产生一个或多个产生一个或多个DataTable对象。对象。 (7)DataAdapter对象将从数据源中取出的数据填充到对象将从数据源中取出的数据填充到DataTable中的中的 DataRow对象里,然后将该对象里,然后将该DataRow对象追加到对象追加到DataTable对象的对象的Rows集集 合中。合中。 (8)重复第()重复第(6)步,直到数据源中所有数据都已填充到)步,直到数据源中所有数据都已填充到DataTable里。里。 (9)将第()将第(6)步产生的)步产

21、生的DataTable对象加入对象加入DataSet里。里。 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-2】使用DataSet进行登录验证 该程序应用该程序应用DataSet和和SqlDataAdapter类实现对第类实现对第5章中用户登录逻章中用户登录逻 辑的验证。程序的界面设计与第辑的验证。程序的界面设计与第4章的登录界面一致。章的登录界面一致。 。 实例说明实例说明 实例运行效果实例运行效果 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-2】使用DataSet进行登录验证 功能

22、实现功能实现 使用使用DataSet和和SqlDataAdapter类取代使用类取代使用SqlDataReader类进行用户类进行用户 名和密码的验证。修改后的名和密码的验证。修改后的CheckUser方法的代码如下:方法的代码如下: WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-2】使用DataSet进行登录验证 小结小结 Connection+Command+DataReader方式访问数据库的特点:方式访问数据库的特点: l 访问数据只用于显示,而不修改。访问数据只用于显示,而不修改。 l 仅对一个数据源进行操作,或是对单表进行操作。

23、仅对一个数据源进行操作,或是对单表进行操作。 l 对于数据只希望向后顺序访问,而不进行重复遍历。对于数据只希望向后顺序访问,而不进行重复遍历。 l 访问数据量小,不需要在内存中大量存储数据。访问数据量小,不需要在内存中大量存储数据。 l 需要访问的结果集太大,不能一次性地全部放入内存。需要访问的结果集太大,不能一次性地全部放入内存。 Connection+ DataAdapter+DataSet方式访问数据库的特点:方式访问数据库的特点: l 同一业务逻辑需要访问多个数据源,比如同时要向同一业务逻辑需要访问多个数据源,比如同时要向SQL Server和和Oracle 数据库中请求数据。数据库中

24、请求数据。 l 由于由于DataSet可以包含多个可以包含多个DataTable,如果需要访问的数据对象来自多,如果需要访问的数据对象来自多 个表,可用个表,可用DataSet的的Table来分别存储管理。来分别存储管理。 l 如果访问操作的数据量比较大。如果访问操作的数据量比较大。 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 课堂实践 1 (1)创建一个用于存储本章数据的数据库)创建一个用于存储本章数据的数据库chap07。 (2)在)在chap07数据库中创建菜单表数据库中创建菜单表Food,包含编号、菜名、菜价、介绍等,包含编号、菜名、菜价

25、、介绍等 列,并添加相关记录。列,并添加相关记录。 (3)修改)修改【例例7-1】,利用,利用DataSet和和SqlDataAdapter将数据库的菜单信息将数据库的菜单信息 添加到列表框。添加到列表框。 (4)尝试根据数据库中存储的信息动态显示菜品详细信息和统计总价。)尝试根据数据库中存储的信息动态显示菜品详细信息和统计总价。 操作要求操作要求 (1)注意)注意RadioButton控件和控件和CheckBox控件的使用和对应控件的控件的使用和对应控件的 事件事件代码。事件事件代码。 (2)自行完成用户选择信息的输出)自行完成用户选择信息的输出 。 操作提示操作提示 WindowsWind

26、ows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.4 ComboBox控件 概述概述 Windows窗体中的窗体中的ComboBox 控件用于在下拉组合框中显示数据。控件用于在下拉组合框中显示数据。 ComboBox 控件分两个部分显示:顶部是一个允许用户键入列表项的控件分两个部分显示:顶部是一个允许用户键入列表项的 文本框。下部是一个列表框,它显示一个项列表,用户可从中选择一项。文本框。下部是一个列表框,它显示一个项列表,用户可从中选择一项。 ComboBox 控件和控件和SelectedIndex 属性返回一个整数值,该值与选属性返回一个整数值,该值与选 择的列

27、表项相对应。择的列表项相对应。 SelectedItem 属性与属性与 SelectedIndex 类似,但它类似,但它 返回项本身,通常是一个字符串值。返回项本身,通常是一个字符串值。Count 属性反映列表的项数,由于属性反映列表的项数,由于 SelectedIndex 是从零开始的,所以是从零开始的,所以 Count 属性的值通常比属性的值通常比 SelectedIndex 的最大可能值大一。的最大可能值大一。 可以在设计时使用可以在设计时使用 Items 属性向列表添加项。如果要在程序运行时在属性向列表添加项。如果要在程序运行时在 ComboBox 控件中添加或删除项,可以使用控件中添

28、加或删除项,可以使用 Add、Insert、Clear 或或 Remove 方法。方法。 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.4 ComboBox控件 常用属性常用属性 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-3】组合框数据绑定 该程序主要用来演示组合框控件绑定到该程序主要用来演示组合框控件绑定到DataSet数据源的用法。程序运行数据源的用法。程序运行 时,用户可以输入商品名称(如:时,用户可以输入商品名称(如:Toshiba M910),在选择商品类别),在选择商品类

29、别 (来自于数据库)后,在组合框中选择不同的类别后,会显示用户选择(来自于数据库)后,在组合框中选择不同的类别后,会显示用户选择 的商品类别名称,如图所示。用户输入完成后,单击的商品类别名称,如图所示。用户输入完成后,单击“确定确定”按钮,弹按钮,弹 出消息框显示商品信息,如图所示。单击出消息框显示商品信息,如图所示。单击 “退出退出”按钮,退出当前程按钮,退出当前程 序。序。 。 实例说明实例说明 实例运行效果实例运行效果 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-3】组合框数据绑定 界面设计界面设计 该程序界面主要由一个文本框(用于

30、输入商品名称)和一个组合框(用该程序界面主要由一个文本框(用于输入商品名称)和一个组合框(用 于选择商品类别名称,其中的选项在程序运行时从数据库中添加)和两个于选择商品类别名称,其中的选项在程序运行时从数据库中添加)和两个 按钮组成。如图所示。按钮组成。如图所示。 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-3】组合框数据绑定 功能实现功能实现 该程序运行后,在窗体装载时(该程序运行后,在窗体装载时(frmComboBox_Load)连接到)连接到 WebShop数据库,读取商品类别表(数据库,读取商品类别表(Types)中的商品类别名称

31、,添加到)中的商品类别名称,添加到 组合框中;在组合框中的选项发生变化组合框中;在组合框中的选项发生变化 (cmbType_SelectedIndexChanged)时,改变)时,改变lblInfo中显示内容;单中显示内容;单 击击“确定确定”按钮后(按钮后(btnOk_Click)弹出消息框。)弹出消息框。 程序的完整代码如下:程序的完整代码如下: WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-3】组合框数据绑定 功能实现功能实现 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.5 Da

32、teTimePicker控件 概述概述 DateTimePicker 控件,用来表示日期时,它显示为两部分:一个下控件,用来表示日期时,它显示为两部分:一个下 拉列表(带有以文本形式表示的日期)和一个网格(在单击列表旁边的拉列表(带有以文本形式表示的日期)和一个网格(在单击列表旁边的 向下箭头时显示)。如果希望向下箭头时显示)。如果希望 DateTimePicker 作为选取或编辑时间作为选取或编辑时间 (而不是日期)的控件出现,请将(而不是日期)的控件出现,请将 ShowUpDown 属性设置为属性设置为 true,并,并 将将 Format 属性设置为属性设置为 Time 。 DateTi

33、mePicker 控件的控件的Format属性用于设置日期和时间的格式,有属性用于设置日期和时间的格式,有四四 种格式种格式: (1)Custom:以自定义格式显示日期:以自定义格式显示日期/时间值。时间值。 (2)Long:以用户操作系统设置的长日期格式显示日期:以用户操作系统设置的长日期格式显示日期/时间值。时间值。 (3)Short:以用户操作系统设置的短日期格式显示日期:以用户操作系统设置的短日期格式显示日期/时间值。时间值。 (4)Time:以用户操作系统设置的时间格式显示日期:以用户操作系统设置的时间格式显示日期/时间值。时间值。 WindowsWindows程序设计程序设计( (

34、C#2.0) C#2.0) 张开利张开利 7.1.5 DateTimePicker控件 主要属性主要属性 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.5 DateTimePicker控件 主要用法主要用法 下面的代码示例创建下面的代码示例创建 DateTimePicker 控件的一个新实例并将其初始化。控件的一个新实例并将其初始化。 public void CreateMyDateTimePicker() / 创建一个新的创建一个新的DateTimePicker控件控件 DateTimePicker dateTimePicker1 = n

35、ew DateTimePicker(); / 设置最小日期和最大日期设置最小日期和最大日期 dateTimePicker1.MinDate = new DateTime(1985, 6, 20); dateTimePicker1.MaxDate = DateTime.Today; / 设置自定义格式字符串设置自定义格式字符串 dateTimePicker1.CustomFormat = MMMM dd, yyyy - dddd; dateTimePicker1.Format = DateTimePickerFormat.Custom; /设置显示复选框设置显示复选框 dateTimePicke

36、r1.ShowCheckBox = true; dateTimePicker1.ShowUpDown = true; WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.1.6 Timer组件 概述概述 定时控件定时控件(Timer)也叫定时器或计时器控件,是按一定时间间隔周期也叫定时器或计时器控件,是按一定时间间隔周期 性地自动触发事件的控件。在程序运行时,定时控件是不可见的。定时性地自动触发事件的控件。在程序运行时,定时控件是不可见的。定时 控件的属性、方法和事件主要包括:控件的属性、方法和事件主要包括: l 属性属性Interval:周期性地自

37、动触发事件的时间间隔,单位为毫秒。:周期性地自动触发事件的时间间隔,单位为毫秒。 l 属性属性Enabled:为:为true,启动定时器。调用方法启动定时器。调用方法Start()也可启动定时器。也可启动定时器。 l 方法方法Start()和和Stop():启动和停止定时器。设置属性:启动和停止定时器。设置属性Enabled=false 也可停止定时器。也可停止定时器。 l 事件事件Tick:每间隔属性:每间隔属性Interval指定的时间,产生事件指定的时间,产生事件Tick。 。 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-4】简易备

38、忘录 该程序主要用来演示该程序主要用来演示DataTimePicker控件和控件和Timer控件的使用。该程序运控件的使用。该程序运 行后,在窗口的下部显示了行后,在窗口的下部显示了“今天日期今天日期”和和“当前时间当前时间”。用户可以日期。用户可以日期 选择器(选择器(dtpDate)中指定提醒日期,可以在时间选择器()中指定提醒日期,可以在时间选择器(dtpTime)中)中 指定提醒时间,在文本框中输入提醒内容,如图所示。单击指定提醒时间,在文本框中输入提醒内容,如图所示。单击“保存保存”按钮按钮 确认当前备忘信息并弹出信息框,如图所示。单击确认当前备忘信息并弹出信息框,如图所示。单击“退

39、出退出”按钮,退出当按钮,退出当 前程序前程序 。 实例说明实例说明 实例运行效果实例运行效果 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-4】简易备忘录 界面设计界面设计 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-4】简易备忘录 界面设计界面设计 参照上表完成参照上表完成“简易备忘录简易备忘录”界面的设计界面的设计,如图所示如图所示 。 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-4】简易备忘录 功能实现功能实现 在窗体装载

40、时完成今天日期和当前时间的显示。为了能够动态的显示当前在窗体装载时完成今天日期和当前时间的显示。为了能够动态的显示当前 时间,在时间,在Timer组件的组件的Tick事件中每间隔事件中每间隔1000毫秒(毫秒(1秒)动态更改当前时秒)动态更改当前时 间的内容。单击间的内容。单击“保存保存”按钮后,弹出消息框显示用户设置的备忘信息。按钮后,弹出消息框显示用户设置的备忘信息。 完整的程序代码如下所示:完整的程序代码如下所示: WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 【例7-4】简易备忘录 功能实现功能实现 WindowsWindows程序设计程序

41、设计( (C#2.0) C#2.0) 张开利张开利 课堂实践 2 (1)打开)打开“课堂实践课堂实践1”创建的数据库创建的数据库chap07。 (2)在)在chap07数据库中创建提醒表数据库中创建提醒表Alarm,包含编号、提醒日期、提,包含编号、提醒日期、提 醒时间、提醒内容等列,并添加相关记录。醒时间、提醒内容等列,并添加相关记录。 (3)修改)修改【例例7-4】,利用,利用SqlCommand将用户输入的备忘信息保存将用户输入的备忘信息保存 到数据库中。到数据库中。 操作要求操作要求 (1)可以使用)可以使用【例例7-4】的界面设计。的界面设计。 (2)注意数据库中列的数据类型的选择和

42、保存时备忘信息的转换。)注意数据库中列的数据类型的选择和保存时备忘信息的转换。 操作提示操作提示 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.2 商品管理功能的实现 1 1、控件组成、控件组成 (1)设置窗体和布局基本控件)设置窗体和布局基本控件 “商品管理商品管理”界面的主窗体及主要控件的属性如下表。界面的主窗体及主要控件的属性如下表。 7.2.1 界面设计界面设计 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.2 商品管理功能的实现 1 1、控件组成、控件组成 (2)设置按钮的图片)设置按

43、钮的图片 如果要实现带图标的按钮,可以使用如果要实现带图标的按钮,可以使用Button控件的控件的Image属性,打开属性,打开“选选 择资源择资源”对话框后,如图所示。选择对话框后,如图所示。选择“本地资源本地资源”单选按钮后再单击单选按钮后再单击“导导 入入”按钮,在本地文件系统中查找到特定的图标文件后,单击按钮,在本地文件系统中查找到特定的图标文件后,单击“确定确定”按按 钮,就可以为按钮添加图标钮,就可以为按钮添加图标 。 7.2.1 界面设计界面设计 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.2 商品管理功能的实现 2 2、绘制界

44、面、绘制界面 按要求绘制出来的应用程序界面如图所示。按要求绘制出来的应用程序界面如图所示。 7.2.1 界面设计界面设计 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.2 商品管理功能的实现 功能实现功能实现 frmGoodsManage提供了添加商品和修改商品的途径,用户可以在该窗提供了添加商品和修改商品的途径,用户可以在该窗 口上选择对应的功能进入到添加商品或修改商品界面。由于在修改商品时,口上选择对应的功能进入到添加商品或修改商品界面。由于在修改商品时, 一般情况下需要显示当前商品信息,程序中设置了一个静态属性一般情况下需要显示当前商品信

45、息,程序中设置了一个静态属性goodsid, 并赋值为并赋值为010002,以实现对该商品的修改操作。以实现对该商品的修改操作。 程序代码如下所示程序代码如下所示: 7.2.2 功能实现功能实现 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.2 商品管理功能的实现 功能实现功能实现 7.2.2 功能实现功能实现 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.2.3 通用数据库访问类 功能实现功能实现 (1)在项目中添加一个类)在项目中添加一个类 WindowsWindows程序设计程序设计( (

46、C#2.0) C#2.0) 张开利张开利 7.2.3 通用数据库访问类 功能实现功能实现 (2)根据数据访问的需要,编写相关的方法)根据数据访问的需要,编写相关的方法 ClassDB的详细代码见的详细代码见所附资源所附资源: WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.3 添加/修改商品功能的实现 7.3.1 7.3.1 界面设计界面设计 “商品添加商品添加”功能涉及的数据比较多,在界面设计时综合了大多数的功能涉及的数据比较多,在界面设计时综合了大多数的 Windows控件,详细属性设置请参阅所附源代码。控件,详细属性设置请参阅所附源代码。

47、WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 7.3 添加/修改商品功能的实现 7.3.2 7.3.2 功能实现功能实现 这是一个典型的信息添加和修改程序。该程序要实现获取已有的商品编号,这是一个典型的信息添加和修改程序。该程序要实现获取已有的商品编号, 由此产生新添加商品的编号;同时,在程序启动时要在组合框中添加已有的由此产生新添加商品的编号;同时,在程序启动时要在组合框中添加已有的 商品类别编号;并且在运行时需要根据用户的选择动态改变成商品添加或商商品类别编号;并且在运行时需要根据用户的选择动态改变成商品添加或商 品修改。程序要实现的功能比较复

48、杂,代码也相对比较多。下面分步详细介品修改。程序要实现的功能比较复杂,代码也相对比较多。下面分步详细介 绍各个方法的功能:绍各个方法的功能: (1)变量初始化和窗体装载事件代码)变量初始化和窗体装载事件代码 。 (2)添充窗体控件的方法)添充窗体控件的方法FillData(该方法根据构造的(该方法根据构造的SQL语句,将从语句,将从 WebShop数据库中数据库中Goods表中查询到的记录填充到当前窗体的各个控件)表中查询到的记录填充到当前窗体的各个控件) (3)自动产生商品编号的方法)自动产生商品编号的方法GetMax (4)数据库有效性验证方法)数据库有效性验证方法Check (5) “确

49、定确定”按钮单击事件处理按钮单击事件处理 (6)PictureBox的单击事件处理的单击事件处理 WindowsWindows程序设计程序设计( (C#2.0) C#2.0) 张开利张开利 课堂实践3 (1)可以使用)可以使用ClassDB中现有的方法,也可以添加新的方法。中现有的方法,也可以添加新的方法。 (2)体会使用的通用数据库访问类的优点)体会使用的通用数据库访问类的优点 。 操作提示操作提示 (1)打开(或新建)实现第)打开(或新建)实现第5章登录功能的项目章登录功能的项目LoginByClassDB。 (2)将本章所完成的通用数据库访问类添加到项目)将本章所完成的通用数据库访问类添加到项目LoginByClassDB中。中。 (3)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论