XXX软件案例分析实验8-基于对话框的录入界面_第1页
XXX软件案例分析实验8-基于对话框的录入界面_第2页
XXX软件案例分析实验8-基于对话框的录入界面_第3页
XXX软件案例分析实验8-基于对话框的录入界面_第4页
XXX软件案例分析实验8-基于对话框的录入界面_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

XXX软件案例分析实验8基于对话框的录入界面

实验报告课程名称:计1201实验名称:基于对话框的录入界面班级:xxxxxxxx0122姓名:XXX、XXX指导教师:实验日期:2015年12月24日一、实验目的1.了解MFCADO数据库访问技术。2.熟悉XXXDataGrid控件和XXXADOData控件的使用方法。3.掌握基于对话框的用户界面设计方和数据操作方法。4.掌握主窗口和子窗口之间的数据访问方法。二、实验环境系统:Windows7编程工具:VisualC++6.0三、实验要求实现对人事或其它基本信息的增加、编辑、删除、刷新和导出功能。四、实验步骤与结果1.启动VC++6.0,创建基于对话框的MFCAppWizard(exe)类型的工程,命名为GUIStyle。2.修改对话框ID为“IDD_GUISTYLE_DIALOG”,标题为“人事基本信息管理”。3.在菜单栏选择Project—>AddtoProject—>XXX命令,打开XXX对话框,打开“RegisteredActiveXControls”文件夹,选择“XXXDataGridControl6.0”和“MicrosoftADODataControl6.0”插入当前工程。4.从控件工具栏中选择相应控件,设计主界面,设置ADOData控件ID为IDC_ADODC,设置DataGrid控件ID为IDC_DATAGRID,其中DataSource属性值为IDC_ADODC,n属性值为空。5.打开MFCClassWizard对话框,为GUIStyleDlg类定义DataGrid控件的成员变量CDataGridm_DataGrid,定义ADOData控件成员变量CAdodcm_Adodc。为按钮添加消息响应成员函数。6.加入自定义类CADOConn。7.在CGUIStyleApp::Instance函数中加入如下代码:if(!AfxOleInit()){AfxMessageBox("XXX.");returnFALSE;以上是实验步骤,下面是实验结果的截图。可提供屏幕抓图)8)在CGUIStyleDlg.cpp文件中,需要添加文件包含命令“#include“ADOConn.h””,并定义全局变量“CADOConnAdoConn”。9)在CGUIStyleDlg::OnInitDialog函数中,需要添加如下代码实现数据库连接:CStringXXX;Password=softcase;PersistSecurityInfo=True;UserID=softcase;DataSource=192.168.10.110/lemonson";XXX(strConnect);10)需要添加一个对话框资源,并为其生成类CAppendDlg。该对话框资源同时用于“增加信息对话框”和“修改信息对话框”,因此需要为CGUIStyleDlg类添加成员变量,以区分这两个对话框并设置对话框标题。public:intflag;CStringTitle;11)使用ClassWizard工具为CAppendDlg类添加控件成员变量和按钮消息响应函数。示例代码如下:public:CStringm_sName;CTimem_tBirthday;CStringm_sTelephone;CStringm_sSchool;CTimem_tFinishTime;CStringm_sRemarks;CStringm_sNumber;CStringm_sDegree;CStringm_sSex;protected:afx_msgvoidOnSave();afx_XXX();12)在CGUIStyleDlg.cpp文件中,需要添加文件包含命令“#include“XXX””。13)在主对话框中,当单击“增加”或“删除”或“编辑”按钮时,需要创建CAppendDlg类对象,动态设置该子对话框标题,并演示F4按钮的可见性。为此,需要将主对话框对象指针this传给该子对话框对象。示例代码如下:voidCGUIStyleDlg::OnAppend(){flag=1;Title="增加个人信息";CAppendDlgAppDlg(this);voidCGUIStyleDlg::OnEdit()flag=2;Title="修改个人基本信息";CAppendDlgAppDlg(this);XXX();Refresh();voidCGUIStyleDlg::OnDelete()XXX("确定删除?"。"提示"。MB_YESNO|MB_ICONWARNING);if(answer==IDYES){CStringDeleteNo=m_DataGrid.GetItem(0);CStringSqlDelStr="DELETEFROMinforWHEREno='"+DeleteNo+"'";XXX(SqlDelStr);Refresh();voidCGUIStyleDlg::Refresh()CStringstrsql="SELECTnoAS序号。nameAS姓名。sexAS性别。birthdayAS出生日期。telephoneAS电话。lastdegreeAS最后学位。schoolAS毕业学校。finishtimeAS毕业时间。remarksAS备注FROMinforORDERBYno";m_Adodc.SetRecordSource(strsql);m_XXX();LPUNKNOWNpCursor=m_Adodc.GetDSCCursor();ASSERT(pCursor。=NULL);m_DataGrid.SetRefDataSource(pCursor);在CAppendDlg类中添加成员变量CGUIStyleDlg*pGUIDlg;在XXX文件中添加控文件包含命令include"XXX"19)在CAppendDlg类的构造函数中,通过获取父对话框指针并初始化pGUIDlg指针对象的方式,实现以下代码:pGUIDlg=(CGUIStyleDlg*)pParent;或者使用以下代码:pGUIDlg=(CGUIStyleDlg*)AfxGetMainWnd();20)在CAppendDlg::OnInitDialog函数中,根据pGUIDlg的flag值,进行以下代码的添加:BOOLCAppendDlg::OnInitDialog()CDialog::OnInitDialog();if(pGUIDlg->flag==1)SetWindowText(pGUIDlg->Title);longmaxno;CStringsqlstr。tempno;BOOLret;sqlstr="SELECTMAX(INFOR.NO)assmaxnoFROMinfor";ret=AdoConn.GetRecordSet(sqlstr);if(ret)BOOLret2=AdoConn.GetCollect("smaxno"。tempno);if(ret2)maxno=atoi(tempno);if(maxno==0)maxno=1;elsemaxno++;m_XXX("%d"。maxno);UpdateData(FALSE);if(pGUIDlg->flag==2)SetWindowText(pGUIDlg->Title);GetDlgItem(IDC_DEMO)->ShowWindow(false);GetDataFromDG();函数实现略returnTRUE;为CAppendDlg类添加“保存”按钮的消息响应函数,示例代码如下:voidCAppendDlg::OnSave()XXX(TRUE);CStringbirthday。finishtime;XXX("%d-%d-%d",m_tBirthday.GetYear(),m_XXX(),m_tBirthday.GetDay());XXX("%d-%d-%d",m_XXX(),m_XXX()。m_tBirthday.GetDay());m_sName.TrimLeft();m_sName.TrimRight();CStringname=m_sName.Left(10);m_XXX();m_XXX();CStringtelephone=m_XXX(20);m_XXX();m_XXX();CStringschool=m_sSchool.Left(20);m_sRemarks.TrimLeft();m_sRemarks.TrimRight();CStringremarks=m_sRemarks.Left(20);判断数据是否为空if(name.IsEmpty()||XXX()||school.IsEmpty()||m_sRemarks.IsEmpty())AfxMessageBox("数据不能为空!");return;if(pGUIDlg->flag==1)//增加CStringsqlselstr。count;BOOLret=AdoConn.RecordExist("infor"。"no"。m_sNumber);if(!ret)添加记录AdoConn.AddRecord("infor"。m_sNumber。name。telephone。birthday。school。finishtime。remarks);AfxMessageBox("添加成功!");pGUIDlg->DisplayData();this->EndDialog(0);elseAfxMessageBox("记录已存在!");elseif(pGUIDlg->flag==2)//修改修改记录XXX("infor"。"no"。m_sNumber。"name"。name);XXX("infor"。"no"。m_sNumber。"telephone"。telephone);XXX("infor"。"no"。m_sNumber。"b

温馨提示

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

评论

0/150

提交评论