




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VC+程序设计项目说明书班级: 07060341学号: 0706034151姓名: 马璀- 0 -VC+程序设计项目说明书 0706034151 马璀一、 作品说明:通过这次作业,初步了解了利用ODBC进行基于MFC的数据库编程。ODBC是一种使用SQL的程序设计接口。Visual c+的MFC类库中定义了几个数据库类。在利用ODBC编程时,用到了CDataBase(数据库类)、CRecordSet(记录集类)、CRecordView(视图列表类)。该作品简单的实现了对数据库中的数据进行插入,通过点击对话框上相应的按钮之后,则进行相应的操作,并且将结果现在在视图类中。整个过程大致可以分为以下几步:1.创建ODBC数据源从控制面板中双击 “管理工具”图标,然后再用户DSN中添加Microsft Accsess Driver 驱动程序,选择创建好的数据库。2. 用MFC AppWizard(exe)创建一个默认的单文档应用程序MyApp,建好后先进行编译连接。3.增加类CtestDB,用于进行数据库的关联。4.在中添加,在CMyAppView类中增加类型为CTestB的成员变量m_pset,增加虚函数OnInitialUpdate()。在CmyAppDoc类中增加CTestDB类型的成员变量 m_set。5. 在CMyAppView类的ondraw()函数内写代码,显示数据库中表的内容。6.设计添加,修改和删除的对话框,利用Classwizard为其创建对话框类,并为对话框上的控件设置关联,为各个功能按钮添加相应函数。7.修改主窗体的标题。8.编译并运行。二、 源代码:BOOL CMyAppApp:InitInstance() /修改窗体标题 0706034151 马璀m_pMainWnd-SetWindowText(0706034151 马璀);/ 视图类初始化 0706034151 马璀void CMyAppView:OnInitialUpdate() CView:OnInitialUpdate();/ TODO: Add your specialized code here and/or call the base classm_pset=&GetDocument()-m_set; / 进行视图类与文档类的关联。 0706034151 马璀/视图类显示函数 0706034151马璀void CMyAppView:OnDraw(CDC* pDC)CMyAppDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data hereif (m_pset-Open() /判断表是否已经被打开,如果打开则关闭。0706034151马璀m_pset-Close(); m_pset-Open(); /关闭后再将表打开. 0706034151马璀if (m_pset-IsBOF()/判断表中是否有记录,如果没有则返回。0706034151马璀/ 如果表不为空则将记录指针指向第一个记录。0706034151 马璀return;m_pset-MoveFirst();while (!m_pset-IsEOF() /如果记录指针不指向表尾。 0706034151 马璀 /将第一列格式化为字符串形式输出 。 0706034151 马璀str.Format(%s,m_pset-m_column1); pDC-TextOut(pText.x,pText.y,m_pset-m_column1);/将第二列格式化为字符串形式输出。 00706034151 马璀str.Format(%s,m_pset-m_column2);pDC-TextOut(pText.x+150,pText.y,m_pset-m_column2);/将第三列格式化为整型输出。 00706034151 马璀str.Format(%d,m_pset-m_column3);pDC-TextOut(pText.x+250,pText.y,str);/将第四列格式化为整型输出。 00706034151 马璀str.Format(%d,m_pset-m_column4);pDC-TextOut(pText.x+300,pText.y,str);m_pset-MoveNext(); /将记录指针移向下一个记录。0706034151马璀pText.y=pText.y+50; /设置背景模式用来设置背景颜色。0706034151马璀pDC-SetBkMode(OPAQUE); /设置文本背景色为RGB(151,151,151) 。 0706034151马璀pDC-SetBkColor(RGB(151,151,151);pDC-TextOut(500,300,0706034151 马璀);/用来输出文本。 0706034151马璀/对话框消息响应函数 0706034151马璀void CMyAppView:OnManage() / TODO: Add your command handler code herCTestDlg dlg; /定义对话框类的一个对象。 0706034151马璀dlg.m_pt=this; /将对话框指向当前的视图类。 0706034151马璀dlg.DoModal(); /用来显示对话框。 0706034151马璀BOOL CMyAppApp:InitInstance()/设置主窗体的名称。 0706034151马璀m_pMainWnd-SetWindowText(0706034151 马璀);/进行插入的函数 0706034151 马璀void CTestDlg:OnInsert() / TODO: Add your control notification handler code hereif(m_set.IsOpen() /判断表是否已经被打开,如果打开则关闭。0706034151马璀m_set.Close(); m_set.Open(); /关闭后再将表打开. 0706034151马璀if(!m_set.CanUpdate() /如果数据无法更新,则给出提示。0706034151马璀AfxMessageBox(_T(数据库无法打开!); m_set.MoveLast(); /将表的记录指针指向最后一个记录。 0706034151马璀 m_set.AddNew(); /条用函数向表中增加记录。 0706034151 马璀UpdateData(); /刷新控件的值到对应的变量 0706034151 马璀/将学号编辑框中的值传给m_set.m_column1 0706034151马璀 m_set.m_column1=m_no_edit; /将姓名编辑框的值传给m_set.m_column2 0706034151 马璀m_set.m_column2=m_name_edit;/将数学成绩编辑框的值传给m_set.m_column3 0706034151 马璀m_set.m_column3=m_math_edit;/将英语成绩编辑框的值传给m_set.m_column4 0706034151 马璀m_set.m_column4=m_eng_edit;UpdateData(FALSE); /拷贝变量值到控件显示 0706034151 马璀m_set.Update(); /将记录值更新 0706034151 马璀m_set.Close(); /关闭数据库 0706034151马璀m_pt-Invalidate();/进行删除的函数 0706034151 马璀void CTestDlg:OnDel() / TODO: Add your control notification handler code hereif(m_set.IsOpen() /判断表是否已经被打开,如果打开则关闭。 0706034151马璀AfxMessageBox(_T(数据库打开!); m_set.Close(); m_set.Open(); /关闭后再将表打开. 0706034151马璀m_set.MoveFirst(); /将记录指针指向第一个记录 0706034151 马璀 UpdateData();/刷新控件的值到对应的变量 0706034151马璀while(!m_set.IsEOF() /判断是否指向表尾 0706034151 马璀/判断学号编辑框中的学号与第一个记录值是否相同。0706034151 马璀if (m_set.m_column1!=m_no_edit) /如果不相同则指向下一个进行判断 0706034151 马璀m_set.MoveNext();else /如果相同则进行删除并将指针下移 0706034151 马璀m_set.Delete();m_set.MoveNext();UpdateData(FALSE); /拷贝变量值到控件显示 0706034151 马璀m_set.Close(); /关闭表 0706034151 马璀/查询函数void CTestDlg:OnCheck() / TODO: Add your control notification handler code hereCString str; /定义字符串 0706034151 马璀int i=0; / 定义刷新次数 0706034151 马璀if(m_set.IsOpen()/判断表是否已经被打开,如果打开则关闭。 0706034151马璀m_set.Close(); m_set.Open(); /关闭后再打开 0706034151 马璀 m_set.MoveFirst();/将记录指针指向第一条记录 0706034151 马璀UpdateData();/刷新数据 0706034151 马璀while(!m_set.IsEOF()&i=0) /判断指针是否指向表的底部 0706034151 马璀 if (m_set.m_column1=m_1|m_set.m_column2=m_2)/判断学号中的内容是否与表中的学号或者姓名相等 0706034151 马璀 SetDlgItemText(IDC_NO_EDIT,m_set.m_column1);/设置对话框中的学号。 0706034151 马璀SetDlgItemText(IDC_NAME_EDIT,m_set.m_column2);/设置对话框中的姓名 0706034151 马璀str.Format (%ld,m_set.m_column3 );/格式为整型输出数学成绩 0706034151 马璀SetDlgItemText(IDC_MATH_EDIT,str);/设置对话框中的数学成绩 0706034151 马璀str.Format (%ld,m_set.m_column4 );/格式为整型输出英语成绩 0706034151 马璀SetDlgItemText(IDC_ENG_EDIT,m_set.m_column4);/设置对话框中的英语成绩。 0706034151 马璀UpdateWindow();/刷新窗口 0706034151 马璀i=1; /将刷新次数置为1 0706034151 马璀m_set.MoveNext();/记录指针下移 0706034151 马璀 elsem_set.MoveNext();/记录指针下移 0706034151 马璀/进行更新的函数 07 06034151 马璀void CTestDlg:OnUpdate() / TODO: Add your control notification handler code hereif(m_set.IsOpen() /判断表是否已经被打开,如果打开则关闭。 0706034151马璀AfxMessageBox(数据库打开!);m_set.Close(); m_set.Open(); /关闭后再将表打开. 0706034151马璀 m_set.MoveFirst(); /将记录指针指向第一个记录 0706034151 马璀while(!m_set.IsEOF() /判断是否指向表尾 0706034151 马璀/判断学号编辑框中的学号与第一个记录值是否相同。0706034151 马璀if (m_set.m_column1!=m_no_edit) /如果不相同则指向下一个进行判断 0706034151 马璀m_set.MoveNext(); elsem_set.Edit();UpdateData();/将学号编辑框中的值传给m_set.m_column1 0706034151马璀m_set.m_column1=m_no_edit;/将姓名编辑框的值传给m_set.m_column2 0706034151 马璀m_set.m_column2=m_name_edit; /将数学成绩编辑框的值传给m_set.m_column3 0706034151马璀m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年各类产业园区笔试面试题目
- 体育教学技能训练课件
- 2025年煤气工程师岗位面试宝典专业知识题预测与解答技巧
- 商业计划书暨路演(模版)
- 农业信息技术教学课件
- 用药安全警示案例课件
- 江苏苏州2011-2020年中考满分作文90篇
- 河北省张家口市桥西区2024-2025学年度第二学期期末考试七年级语文试卷(含答案)
- 《雨林》课文教学课件
- 新解读《GB-T 35003 - 2018非易失性存储器耐久和数据保持试验方法》
- 动词教学课件
- 2025至2030直接甲醇燃料电池(DMFC)行业发展趋势分析与未来投资战略咨询研究报告
- 盐雾测试报告
- 维修工培训课件
- 外科学教案-腹外疝
- 寺院电路改造方案(3篇)
- 船舶公司维修管理制度
- 监理公司财务管理制度
- 2025届天津市八年级英语第二学期期末达标测试试题含答案
- 限价商品房购房定金合同书
- 生产环境条件管理制度
评论
0/150
提交评论