1 / 23

数据库应用程序设计过程

数据库应用程序设计过程. 例:建立一个学生成绩管理的数据库应用程序. 程序运行界面如图:. 数据库应用程序设计过程. 该程序设计的过程为: (一)设计数据库 ⑴首先创建 Microsoft Access 类型数据库 student.mdb 。. 数据库 student 中 fen 表的记录如下表:. fen 表. ⑵ 然后打开控制面板,找到 32 位 ODBC 数据源图标。. ⑶ 双击 32 位 ODBC 图标,出现数据源管理器对话框。. 数据库应用程序设计过程. ⑷ 在用户 DSN 选项卡中单击“添加”按钮,弹出创建新数 据源对话框。.

ryder
Download Presentation

数据库应用程序设计过程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据库应用程序设计过程 例:建立一个学生成绩管理的数据库应用程序 程序运行界面如图:

  2. 数据库应用程序设计过程 该程序设计的过程为: (一)设计数据库 ⑴首先创建Microsoft Access类型数据库student.mdb。 数据库student中fen表的记录如下表: fen表 ⑵然后打开控制面板,找到32位ODBC数据源图标。 ⑶双击32位ODBC图标,出现数据源管理器对话框。

  3. 数据库应用程序设计过程 ⑷在用户DSN选项卡中单击“添加”按钮,弹出创建新数 据源对话框。 ⑸选定数据库类型Microsoft Access Driver,单击“完成” 按钮,弹出ODBC Microsoft Access 安装对话框,在数 据源名输入student数据库一个别名“not”,在说明输入 student数据库,单击数据库中的“选取…”按钮,在弹出 的文件选择对话框中选定所用的数据库文件(如 student.mdb),单击“确定”按钮,回到数据源管理器对 话框,选择“确定”按钮,建立数据源的工作完成了。

  4. 数据库应用程序设计过程 (二)创建lhwy工程: ⑴利用MFC AppWizard(exe)来生成lhwy工程。在Step 1 中选择Single document。并选择“英语[美国][APPWZ- ENU.DLL]”。 ⑵在MFC AppWizard –Step2 of 6对话框中,选择Data- base view without file support选项。 ⑶单击Data Source按钮,弹出Database Option对话框, 选择ODBC单选按钮,并从下拉列表框中选择student, 选好数据源后,APPWizard还会提示用户选择一个表, 此时选择fen表。其余步骤选默认选项。

  5. 数据库应用程序设计过程 (三)设计程序界面: ⑴在Workspace窗口的ResourceView选项卡上找到一个名 为IDD_LHWY_DIALOG的对话框,双击它打开对话框 编辑器,然后按下图加入控件。

  6. 数据库应用程序设计过程 ⑵设置六个按钮控件的 ID分别为IDC_ADD、IDC_DELECT、 IDC_EDIT、IDC_FIND、IDC_SORT、IDC_ALL。 其中列表框属性设置中Styles选项卡“查看”选Report。 ⑶利用Class Wizard的Member Variables中列出了所有控 件的ID,按下图设置相应变量。

  7. 数据库应用程序设计过程 (四)添加对话框资源: ⑴增加4个对话框资源。它们的名字分别为IDD_ADD、IDD_DELECT、IDD_EDIT、IDD_FIND。分别设置4个对话框的界面及界面上控件的 ID值和相应变量,4个对话框的类名分别为CAddDialog、CDeleteDialog、CEditDialog、CFindDialog。如图:

  8. 数据库应用程序设计过程 IDC_PASSWARD编辑框属性设置中Styles选项卡选中Password复选框。

  9. 数据库应用程序设计过程 IDC_PASSWARD编辑框属性设置中Styles选项卡选中Password复选框。

  10. 数据库应用程序设计过程

  11. 数据库应用程序设计过程 (五)程序初始化 ⑴添加CLhwyView的成员变量 public: HBRUSH m_Brush; ⑵通过ClassWizard添加CLhwyView的消息相应函数OnInitialUpdate() : void CLhwyView::OnInitialUpdate() { m_pSet = &GetDocument()->m_lhwySet; CRecordView::OnInitialUpdate(); GetParentFrame()->RecalcLayout(); ResizeParentToFit(); //创刷子用来设置界面背景色 m_Brush=CreateSolidBrush(RGB(30,180,180)); //设表格表题和列的宽度 m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES); m_ListCtrl.InsertColumn(0,_T("学号"),LVCFMT_IMAGE|LVCFMT_LEFT); m_ListCtrl.InsertColumn(1,_T("姓名"));

  12. 数据库应用程序设计过程 m_ListCtrl.InsertColumn(2,_T("数学")); m_ListCtrl.InsertColumn(3,_T("英语")); int j; for(j=0;j<4;j++) { m_ListCtrl.SetColumnWidth(j ,90); } //显示所有记录 this->Show(); } //这样列表标题就设置好了,同时设置列的宽度。 ⑶通过ClassWizard添加CLhwyView的WM_CTRCOLOR消息相应函数 OnCtlColor并修改代码为 //设置界面为草绿色 HBRUSH CLhwyView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { return m_Brush; }

  13. 数据库应用程序设计过程 ⑷因为程序一运行时,要求所有记录都显示出来,所以接着需增加一个CLhwyView 类的成员函数Show()函数,Show()函数如下: int CLhwyView::Show() { int i=0; m_pSet->MoveFirst(); do { CString s; s.Format("%d",m_pSet->m_column1); m_ListCtrl.InsertItem(i,s,0); m_ListCtrl.SetItemText(i,1,m_pSet->m_column2); s.Format("%d",m_pSet->m_column3); m_ListCtrl.SetItemText(i,2,s); s.Format("%d",m_pSet->m_column4); m_ListCtrl.SetItemText(i,3,s); i++; m_pSet->MoveNext(); } while(!m_pSet->IsEOF()); m_pSet->MoveFirst(); return i; }

  14. 数据库应用程序设计过程 (六)程序基本功能的实现 : 为了实现程序的基本功能,在视图上增加了六个按钮,在视图实现 文件中对按钮响应。 ⑴增加记录:双击IDD_LHWY_FORM上的增加记录按钮 void CLhwyView::OnAdd() { // TODO: Add your control notification handler code here CAddDialog dlg; if( dlg.DoModal()==IDOK) { if(dlg.m_Xuehao==0) { AfxMessageBox("学号不可为零!"); } else { m_pSet->AddNew(); m_pSet->m_column1=dlg.m_Xuehao; m_pSet->m_column2=dlg.m_strName; m_pSet->m_column3=dlg.m_Maths; m_pSet->m_column4=dlg.m_English;

  15. 数据库应用程序设计过程 m_pSet->Update(); m_pSet->Requery(); m_pSet->MoveLast(); CString s; s.Format("%d",dlg.m_Xuehao); m_ListCtrl.InsertItem(0,s,0); m_ListCtrl.SetItemText(0,1,dlg.m_strName); s.Format("%d",dlg.m_Maths); m_ListCtrl.SetItemText(0,2,s); s.Format("%d",dlg.m_English); m_ListCtrl.SetItemText(0,3,s); } } m_pSet->MoveFirst(); }

  16. 数据库应用程序设计过程 ⑵删除记录:双击IDD_LHWY_FORM上的删除记录按钮 void CLhwyView::OnDelect() {// TODO: Add your control notification handler code here CDeleteDialog dlg; if(dlg.DoModal()==IDOK) { if(dlg.m_Password!=1234) AfxMessageBox("你没有权限删除记录!请重输入密码:"); else { BOOL b=FALSE; m_pSet->MoveFirst(); do { if(dlg.m_Xuehao!=m_pSet->m_column1 &&dlg.m_Name!=m_pSet->m_column2) m_pSet->MoveNext(); else {

  17. 数据库应用程序设计过程 m_ListCtrl.DeleteAllItems(); b=TRUE; m_pSet->Delete(); m_pSet->Requery(); this->Show(); m_pSet->MoveFirst(); break; } }while(!m_pSet->IsEOF()); if(b==FALSE) AfxMessageBox("没有此记录"); } } }

  18. 数据库应用程序设计过程 ⑶修改记录:双击IDD_LHWY_FORM上的修改记录按钮 void CLhwyView::OnEdit() { // TODO: Add your control notification handler code here CEditDialog dlg; if(dlg.DoModal()==IDOK) { if(dlg.m_Password!=1234) AfxMessageBox("你没有权限更改记录!请重输入密码:"); else { BOOL b=FALSE; m_pSet->MoveFirst(); do { if(dlg.m_Xuehao!=m_pSet->m_column1) m_pSet->MoveNext(); else { m_ListCtrl.DeleteAllItems(); m_pSet->Edit(); b=TRUE;

  19. 数据库应用程序设计过程 m_pSet->m_column1=dlg.m_Xuehao; m_pSet->m_column2=dlg.m_strName; m_pSet->m_column3=dlg.m_Maths; m_pSet->m_column4=dlg.m_English; m_pSet->Update(); m_pSet->Requery(); this->Show(); m_pSet->MoveFirst(); break; } }while(!m_pSet->IsEOF()); if(b==FALSE) AfxMessageBox("没有此记录"); } } }

  20. 数据库应用程序设计过程 ⑷查寻记录:双击IDD_LHWY_FORM上的查寻记录按钮 void CLhwyView::OnFind() { // TODO: Add your control notification handler code here BOOL k=FALSE; CFindDialog dlg; if(dlg.DoModal()==IDOK) { m_pSet->MoveFirst(); m_ListCtrl.DeleteAllItems(); do{ if(dlg.m_Maths!=m_pSet->m_column3) m_pSet->MoveNext(); else { k=TRUE; CString s; s.Format("%d",m_pSet->m_column1); m_ListCtrl.InsertItem(0,s); m_ListCtrl.SetItemText(0,1,m_pSet->m_column2);

  21. 数据库应用程序设计过程 s.Format("%d",m_pSet->m_column3); m_ListCtrl.SetItemText(0,2,s); s.Format("%d",m_pSet->m_column3); m_ListCtrl.SetItemText(0,3,s); m_pSet->MoveNext(); } } while(!m_pSet->IsEOF()); if(k==FALSE) AfxMessageBox("没有符和条件的记录"); } } ⑸排序记录:双击IDD_LHWY_FORM上的排序记录按钮 void CLhwyView::OnSort() {// TODO: Add your control notification handler code here m_ListCtrl.DeleteAllItems(); m_pSet->m_strSort="[学号]"; m_pSet->Requery(); this->Show(); }

  22. 数据库应用程序设计过程 ⑹显示全部记录:双击IDD_LHWY_FORM上的全部记录按钮 void CLhwyView::OnAll() { // TODO: Add your control notification handler code here m_ListCtrl.DeleteAllItems(); this->Show(); } ⑺最后在lhwyView.h中的#endif // _MSC_VER > 1000下面加入下列代码: #include "AddDialog.h" #include "DeleteDialog.h" #include "FindDialog.h" #include "EditDialog.h “

  23. 数据库应用程序设计过程 • 课程设计要求: • 1. 根据例题,自己建立一个其它数据库管理的应用程序(比如,图书馆管理、宿舍管理、酒店管理等),根据管理的不同设计出不同的数据库。 • 2. 使用工具:VC++、Access、SQL Sever等。 • 3.系统设计要求 • ⑴主要功能包括①增加记录②删除记录③修改记录④查询记录⑤排序记录⑥全部记录。等功能。 • ⑵写出环境要求 • ⑶写出建立数据库应用程序的过程 • ⑷写出用户使用说明书 • 4. 每个人交一份,不能类同,最后全班刻到一张光盘交上来

More Related