250 likes | 341 Views
项目:通讯录管理系统设计. 常州工程职业技术学院 计算机技术系. 今日工作. 1. 任务七:设计 “ 修改联系人 ” 窗体. 界面设计及 Load 事件方法设计. a. 分析设计与实现修改联系人方法. b. 3. 分析设计与实现删除菜单项的事件方法. 2. 4. 3. 工作汇报、互评. 工作小结. 4. 5. 任务布置. 结束. 界面设计及 Load 事件方法设计. 各项目组汇报预做、提出问题. 互评、点评. 问题解决. 完善任务. 界面设计及 Load 事件方法设计. 1 、界面. 此界面与“新增联系人”窗体的界面相同.
E N D
项目:通讯录管理系统设计 常州工程职业技术学院 计算机技术系 常州工程职业技术学院 计算机技术系
今日工作 1 任务七:设计“修改联系人”窗体 界面设计及Load事件方法设计 a 分析设计与实现修改联系人方法 b 3 分析设计与实现删除菜单项的事件方法 2 4 3 工作汇报、互评 工作小结 4 5 任务布置 结束 《WinForm项目开发》
界面设计及Load事件方法设计 各项目组汇报预做、提出问题 互评、点评 问题解决 完善任务 《WinForm项目开发》
界面设计及Load事件方法设计 1、界面 此界面与“新增联系人”窗体的界面相同 添加几个字段(变量) strUserName:登录用户名 groupCount:组数量最大值 contentCount :联系人数量最大值 txtFilePath:图片文件路径 strConn:连接字符串 ID:要修改的联系人id号 picData :图片数据数组 《WinForm项目开发》
界面设计及Load事件方法设计 2、Load事件方法 2)功能 读取当前用户可建组最大数和联系人最大数; 如果联系人达到最大数,输出消息,并使添加按钮不可用; 调用LoadGroup方法把组成员添加到组别组合框中。 把所选联系人信息写到界面上,以备修改。 《WinForm项目开发》
界面设计及Load事件方法设计 2)设计思路 用所选联系人信息写到界面 用所选联系人ID从联系人数据表中把数据读出,填充到数据集DataSet中,然后从数据集中的表中把数据读出分别写入到界面上的各控件中。 《WinForm项目开发》
界面设计及Load事件方法设计 • SqlDataAdapter对象 • 表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。 • SqlDataAdapter 是 DataSet 和 SQL Server 之间的桥接器,用于检索和保存数据。 《WinForm项目开发》
界面设计及Load事件方法设计 利用 SqlDataAdapter 通过对数据源使用适当的 Transact-SQL 语句映射 Fill(它可更改 DataSet 中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet 中的数据)来提供这一桥接。 《WinForm项目开发》
界面设计及Load事件方法设计 SqlDataAdapter 与 SqlConnection 和 SqlCommand 一起使用,以便在连接到 SQL Server 数据库时提高性能。 SqlDataAdapter 还包括 SelectCommand、InsertCommand、DeleteCommand、UpdateCommand 和 TableMappings 属性,以便于数据的加载和更新 《WinForm项目开发》
界面设计及Load事件方法设计 SqlDataAdapter主要属性 SqlDataAdapter主要方法 《WinForm项目开发》
界面设计及Load事件方法设计 • DataSet对象 • DataSet(数据集)对象:数据集是包含数据表的对象,可以在这些数据表中临时存储数据以便在应用程序中使用。 • 如果应用程序要求使用数据,则可以将该数据加载到数据集中,数据集在本地内存中为应用程序提供了待用数据的缓存。即使应用程序从数据库断开连接,也可以使用数据集中的数据。 《WinForm项目开发》
界面设计及Load事件方法设计 • 数据集维护有关其数据的更改的信息,因此可以跟踪数据更新,并在应用程序重新连接时将更新发送回数据库。 《WinForm项目开发》
界面设计及Load事件方法设计 • DataSet中最重要的是DataTableCollection(数据表集合),包括若干个DataTable对象,而一个DataTable对象可以理解为一个二维表: DataRowCollection(数据行集合) DataColumnCollection(数据列集合)。 • - 访问DataSet对象的方法: • 假设有一个DataSet对象ds 《WinForm项目开发》
界面设计及Load事件方法设计 • 访问DataTable对象: • DataTable dt1=ds.Tables[0];//根据索引 • DataTable dt2=ds.Tables[“用户”];//根据表名 • 访问DataRow对象 • DataRow dr1=dt1.Rows[0]; //根据索引 • DataRow dr2=dt1.Rows[“密码”] ;//根据字段名 《WinForm项目开发》
界面设计及Load事件方法设计 • 通常情况下,DataSet对象不需要手工构造。可以使用SqlDataAdapter对象的Fill方法进行构造。使用流程: 1.定义SqlDataAdapter对象 2.设置SqlDataAdapter对象的SelectCommand属性(需要另外定义SqlConnection对象和SqlCommand对象) 3.定义DataSet对象 4.调用SqlDataAdapter对象的Fill方法 说明:在调用SqlDataAdapter对象的Fill方法之前,不需要将SqlDataAdapter对象的SelectCommand属性的Connection属性打开(调用Open()方法),SqlDataAdapter对象将检测连接是否打开,如果没有打开,则先打开,等Fill()方法调用结束,关闭连接 《WinForm项目开发》
分析设计与实现修改联系人方法 各项目组汇报预做、提出问题 互评、点评 问题解决 完善任务 《WinForm项目开发》
分析设计与实现修改联系人方法 1、修改联系人方法 此方法与添加联系人方法基本相同,只是把原来的insert改成update即可。 2、修改菜单方法 1)功能 如果在ListView中有选择,显示修改窗体,当返回OK时,重新显示主窗体,否则不变。 《WinForm项目开发》
分析设计与实现修改联系人方法 2)设计思路 判断在ListView中是否有选择,如果没有,输出必须选择消息框结束;否则读取选择项的编号,调用修改窗体,当返回的为OK时,重设TreeView和ListView。 3)实现方法 (1)判断在ListView中是否有选择 lvContact.SelectedItems.Count == 1 《WinForm项目开发》
分析设计与实现修改联系人方法 (2)读取选择项的编号 int id = Convert.ToInt32(lvContact.SelectedItems[0].Tag 《WinForm项目开发》
分析设计与实现删除菜单项的事件方法 各项目组汇报预做、提出问题 互评、点评 问题解决 完善任务 《WinForm项目开发》
分析设计与实现删除菜单项的事件方法 1、方法功能 删除所选的联系人 2、设计思路 判断是否选择了删除对象,如果没有选,输出需选择对话框,结束方法; 否则输出删除确认对话框,如果返回为Cancel,则直接结束方法; 《WinForm项目开发》
分析设计与实现删除菜单项的事件方法 否则根据所选项编号组合删除条件,把所选删除。 3、实现方法 (1)判断是否选择了删除对象 lvContact.SelectedItems.Count < 1 《WinForm项目开发》
分析设计与实现删除菜单项的事件方法 (2)根据所选项编号组合删除条件 string strWhere = " where 编号in ("; foreach (ListViewItem lvi in lvContact.SelectedItems) { strWhere += lvi.Tag.ToString() + ","; } strWhere = strWhere.Substring(0, strWhere.Length - 1); strWhere += ")"; 《WinForm项目开发》
1、设计“修改联系人”窗体的界面; 工作小结 • 2、应用SqlDataAdapter和DataSet对象使用数据库数据; • 3、分析设计与实现窗体Load事件方法; • 4、分析设计与实现调用窗体(Edit)方法; • 5、分析设计与实现“修改”按钮事件方法; • 6、分析设计与实现删除菜单项的事件方法; 《WinForm项目开发》
1.课后修改设计流程图及作品;把电子稿交上传;1.课后修改设计流程图及作品;把电子稿交上传; 任务布置 2.工作小结; 3.设计课外项目相关内容; 4.以小组为单预设计工作任务八设计“查询联系人”窗体 《WinForm项目开发》