




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Windows界面设计 安徽机电职业技术学院信息工程系汪学文 wxwOOP 课程网站 2011年11月 2 任务6 将员工信息保存到数据库 学习目标 进一步使用SQLServer2005Express数据库 设计自定义对话框窗体 将comboBox 下拉列表 绑定到数据表 将用户输入的数据保存到数据库 本任务在任务5 使用数据库 基础上继续进行 3 6 1在 员工列表 窗体中调用 增加新员工 窗体 在 员工列表 窗体中 单击 添加员工 按钮 启动 增加新员工 窗体 4 增加新员工 窗体作为对话框调用 我们希望 如果用户点击 新建 完成增加新员工 那么返回时 需要刷新员工列表 如果用户点击 取消 由于数据没有变化 不需要刷新员工列表 因此 需要 增加新员工 窗体作为自定义对话框 在成功时返回DialogResult OK 否则返回DialogResult Cancel privatevoidbtnNewEmployee Click objectsender EventArgse FrmNewEmployeefrmEmp newFrmNewEmployee if DialogResult OK frmEmp ShowDialog dsEmployee Clear 清除内存数据集中的数据BindGrid 重新绑定数据 5 设计自定义对话框窗体 如上所述 需要将 增加新员工 窗体设置成自定义对话框 新建 按钮的DialogResult属性设置为 OK 取消 按钮的DialogResult属性设置为 Cancel 这时 新建 和 取消 按钮的Click事件中的this Close 语句就可以去掉了 还可以设置窗体的如下属性 AcceptButton btnOK 按回车相当于按些按钮CancelButton btnCancel 按Esc键相当于按此按钮 6 6 2将部门列表绑定到ComboBox控件 拖放SqlConnection控件到 添加新员工 窗体 暂使用默认名称SqlConnection1 设置ConnectionString属性为BlueHill mdf 会自动产生合适的数据库连接字符串 拖放SqlDataAdapter控件到窗体 命名为daEmployee 设置SelectCommand的Connection属性为SqlConnection1设置SelectCommand的CommandText属性为 SELECTDeptID DeptNameFROMtblDepartment以上可以通过 数据适配器配置向导 来完成拖放DataSet控件到 添加新员工 窗体 命名为dsEmployee 注意要选择 非类型化数据集 7 6 2将部门列表绑定到ComboBox控件 在FrmNewEmployee Load事件中编写以下代码 privatevoidFrmNewEmployee Load objectsender EventArgse try 将部门列表数据填充内存数据集的Depart表daDepart Fill dsDepart Depart 设置部门下拉列表框的数据源为上述Depart表cmbDepart DataSource dsDepart Tables Depart 设置部门下拉列表框的显示字段为DeptNamecmbDepart DisplayMember DeptName 设置部门下拉列表框的值字段为DeptIDcmbDepart ValueMember DeptID catch MessageBox Show 读取部门列表数据出错 可能无法添加员工 错误 MessageBoxButtons OK MessageBoxIcon Error return 8 6 3将员工信息保存到数据库 保存数据主要用到数据库的Insert操作 拖放SqlCommand控件到窗体上设置Connection属性为SqlConnection1设置CommandText属性为 INSERTINTOtblEmployee Name LoginName Password Birthday Email DeptID BasicSalary Title Telephone OnboardDate SelfIntro VacationRemain EmployeeLevel PhotoImage VALUES Name LoginName Password Birthday Email DeptID BasicSalary Title Telephone OnboardDate SelfIntro VacationRemain EmployeeLevel PhotoImage 为什么需要保存OnBoardDate等列的数据 因为这些列被设计成非空列 不允许空 9 执行插入操作 由此可见 将员工信息保存到数据库需要进行以下几步操作 打开数据库连接给参数集合 Parameters对象 分别赋值执行Command对象的ExecuteNonQuery方法关闭数据库连接 10 Code1 5 新建时 要求窗体进行验证 privatevoidbtkOK Click objectsender EventArgse 激发窗体内所有控件进行验证 如果验证不通过 不退出 继续要求输入if this ValidateChildren 设为None 窗体将不会关闭this DialogResult DialogResult None return 11 Code2 5 给参数对象赋值 打开数据库连接 并给参数对象赋值cmdInsertEmp Connection Open cmdInsertEmp Parameters Name Value txtName Text cmdInsertEmp Parameters LoginName Value txtLogin Text cmdInsertEmp Parameters Password Value txtPassword Text cmdInsertEmp Parameters Birthday Value Convert ToDateTime txtBirthday Text cmdInsertEmp Parameters Email Value txtEmail Text cmdInsertEmp Parameters Deptid Value cmbDepart SelectedValue cmdInsertEmp Parameters Title Value txtTitle Text cmdInsertEmp Parameters EmployeeLevel Value numLevel Value cmdInsertEmp Parameters BasicSalary Value numSalary Value cmdInsertEmp Parameters Telephone Value txtPhone Text cmdInsertEmp Parameters SelfINtro Value txtSelfIntro Text cmdInsertEmp Parameters OnboardDate Value DateTime Now cmdInsertEmp Parameters VacationRemain Value 0 暂且不对照片列进行处理 设为空值 如果需要处理 用下页的代码代替cmdInsertEmp Parameters PhotoImage Value Convert DBNull 12 Code3 5 将照片信息存入参数 处理照片数据ImageConverteric newImageConverter byte photoByteArray ic ConvertTo picPhoto Image typeof byte asbyte if photoByteArray null cmdInsertEmp Parameters PhotoImage Value photoByteArray else cmdInsertEmp Parameters PhotoImage Value Convert DBNull 使用对象浏览器 了解ImageConvert类及其ConvertTo方法 13 Code4 5 新建时 要求窗体进行验证 try cmdInsertEmp ExecuteNonQuery MessageBox Show 成功修改员工信息 成功 MessageBoxButtons OK MessageBoxIcon Information catch System Data SqlClient SqlExceptionsqlex SqlServer错误号代表唯一约束冲突 说明登录名重复 if sqlex Number 2627 MessageBox Show 登录名不能重复 错误 MessageBoxButtons OK MessageBoxIcon Error elseMessageBox Show 读取数据库错误 错误 MessageBoxButtons OK MessageBoxIcon Error this DialogResult DialogResult None 怎样做到 登录名重复时 会引发数据库唯一约束 14 Code5 5 新建时 要求窗体进行验证 catch MessageBox Show 创建员工出错 请检查输入数据格式是否正确 错误 MessageBoxButtons OK MessageBoxIcon Error this DialogR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英吉沙县农机安全培训课件
- 2024自考专业(电子商务)高分题库及参考答案详解【考试直接用】
- 2025年药师抗生素使用指南试题及答案
- 2024-2025学年执法资格通关题库及一套参考答案详解
- 2025法律职业资格考试通关考试题库及参考答案详解【典型题】
- 解析卷-浙教版七年级下册第六章数据与统计图表单元测试试题(含详解)
- 隧道施工沉降监测方案
- 人防工程进度调整方案
- 排水工程安全监测方案
- 混凝土预制构件的物料配送与调度方案
- 碳酸乙烯亚乙酯和甲烷二磺酸亚甲酯功能添加剂在锂离子电池中的性能研究的开题报告
- 《藻类植物》授课课件
- 《禁骑电动自行车》班会课件
- 秋收活动方案
- 物流地产发展前景分析
- 三年个人成长路线图:高中数学名师工作室
- 子宫动脉栓塞护理查房
- 基于机器学习的异常检测与预警机制
- 大气道狭窄的护理查房
- 粮油品质检验与分析(第二版) 课件全套 第0-10章 绪论、粮食的理化特性与品质变化-粮油卫生检验
- ZZ002 植物嫁接赛项正式赛卷(有答案)完整版包括所有附件-2023年全国职业院校技能大赛赛项正式赛卷
评论
0/150
提交评论