产品信息管理系统数据库实现文档格式.docx
- 文档编号:19664234
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:20
- 大小:353.67KB
产品信息管理系统数据库实现文档格式.docx
《产品信息管理系统数据库实现文档格式.docx》由会员分享,可在线阅读,更多相关《产品信息管理系统数据库实现文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
打开MicrosoftOfficeAccess2003→点击菜单栏中“文件”→选择“新建”→在右边窗口选择其中的“空数据库”→选择保存的地址并为数据库命名。
图4-1db1数据库
(2)第二步:
在空数据库中创建表
在新建的空数据库中选择“表”→选择“新建”→选择“设计视图”→“确定”→在字段名称和数据类型中填入相应数据→保存。
产品信息管理系统所要建立的Access数据库所要的数据以及数据类型如下:
ProductID(数字类型,字段大小:
长整型)
ProductName(文本类型,字段大小:
40)
SupplierID(数字类型,字段大小:
CategoryID(数字类型,字段大小:
QuantityPerUnit(文本类型,字段大小:
20)
UnitPrice(货币类型)
UnitsInStock(数字类型,字段大小:
整型)
UnitsOnOrder(数字类型,字段大小:
ReorderLevel(数字类型,字段大小:
Discontinued(是/否类型)
图4-2Products设计视图
(3)第三步:
在表中填入数据
在建立的数据库“表”中→双击选择刚建立的表→在表中相应位置填入相应数据(注意数据类型及格式)→保存。
图4-3新建Products表
图4-4写入数据
5建立ODBC数据源
在“开始”中选择“控制面板”→“管理工具”→“数据源(ODBC)”→在“用户DSN”中→选择“添加”→选择“MicrosoftAccessDriver(*.mdb)”→完成→在弹出的窗口中选择建立的数据库位置并填入要建立的数据源名称→确定。
图5-1创建数据源
图5-2选择数据库
图5-3数据源名称
6客户端应用程开发
6.1产品信息管理系统的功能结构图
图6-1产品信息管理系统功能结构图
6.2用VC++6.0创建有数据库支持的应用程序框架
打开MicrosoftVisualC++6.0→在菜单栏中的“文件”中选择“新建”→在弹出的窗口中“文件”中选择“MFCAppWizard[exe]”→填入工程名称:
→“Products”→“确定”→在弹出的窗口中选择“单文档”→点击“下一步”→“查看数据库使用文件支持”选择“数据源…”
图6-2新建工程
图6-3选择查看数据库使用文件支持
在弹出的窗口中Datasource的“ODBC”选择建立的数据源并在Recordsettype中的“Dynaset”→“OK”→在弹出的窗口中选择数据库名称→“OK”→“下一步”→“完成”。
图6-4选择数据源名称
6.3设计菜单和工具条
在Dialog的IDD_PRODUCTS_FORM中使用控件工具栏绘制出下图窗口:
图6-5绘制窗口
在Dialog中新建一个名为IDD_PRODUCTS_FIND的窗口并用Controls工具栏绘制出下图窗口:
图6-6绘制查找条件窗口
将Menu的IDR_MAINFRAME中的菜单栏如下图如下图所示:
图6-6数据维护
图6-7记录
将Toolbar中的IDR_MAINFRAME中的工具栏用右侧系统提供的工具栏设计如下图所示:
图6-8工具栏
在创建的菜单栏和工具栏按键中的属性的ID栏中填入相应的ID、标明和提示,如“ID_DATA_ADD”、“增加[&
A]”、“新增一条记录\n增加”。
6.4设计CRecordView的模板
在ResourceView中,双击Dialog中的IDD_PRODUCTS_FORM,设计模板如图所示:
图6-9设计模板
6.5将CRecordView的模板中的控件和数据集字段关联
1、在上图面板中点击右键→选择“添加类向导”→在弹出的窗口中选择MemberVariables下的所需要关联的ID,如“IDC_EDIT_PRODUCTSID”→“AddVariables”→“membervariablesname”中选择相对应的ID名称→“OK”如下图所示:
图6-10双击ID
图6-11增加成员变量
最后完成,点击“确定”,即可将CRecordView的模板中的控件和数据集字段关联
6.6数据浏览功能实现
在ProductsView.cpp中添加类向导,写入相应的程序即可实现。
(1)浏览“第一条记录”的实现
在ProductsView.cpp中添加类向导:
点击右键→选择“添加类向导”→在弹出的窗口中选择MessageMaps→点击ObjectsIDs中的”ID_RECORD_FIRST”→双击Messages中的“COMMAND”和“UPDATE_COMMAND_UI”→确定
图6-12建立第一条记录类向导
在voidCProducts2View:
:
OnRecordFirst()添加程序如下:
voidCProducts2View:
OnRecordFirst()
{
//TODO:
Addyourcommandhandlercodehere
m_pSet->
MoveFirst();
UpdateData(false);
}
OnUpdateRecordFirst(CCmdUI*pCmdUI)添加程序如下:
OnUpdateRecordFirst(CCmdUI*pCmdUI)
AddyourcommandupdateUIhandlercodehere
pCmdUI->
Enable(!
m_addMode&
&
!
m_editMode&
(m_pSet->
IsBOF()));
编译后,点击
,在出现的界面中,点击菜单栏记录中“第一条记录”或者
图标即可查看第一条记录的信息。
(2)浏览“下一条记录”的实现
在ProductsView.cpp中添加类向导
图6-12建立下一条记录类向导
OnRecordNext()添加程序如下:
OnRecordNext()
if(m_pSet->
IsEOF())
{
OnRecordLast();
return;
}
MoveNext();
OnUpdateRecordNext(CCmdUI*pCmdUI)添加程序如下:
OnUpdateRecordNext(CCmdUI*pCmdUI)
IsEOF()));
,在出现的界面中,点击菜单栏记录中“下一条记录”或者
标即可查看下一条记录的信息。
(3)浏览上一条记录的实现
图6-13建立上一条记录类向导
OnRecordNext()添加程序如下:
OnUpdateRecordPrev(CCmdUI*pCmdUI)添加程序如下:
OnUpdateRecordPrev(CCmdUI*pCmdUI)
,在出现的界面中,点击菜单栏记录中“上一条记录”或者
图标即可查看上一条记录的信息。
(4)浏览最后一条记录的实现
图6-14建立上一条记录类向导
OnRecordLast()添加程序如下:
OnRecordLast()
MoveLast();
OnUpdateRecordLast(CCmdUI*pCmdUI)添加程序如下:
OnUpdateRecordLast(CCmdUI*pCmdUI)
,在出现的界面中,点击菜单栏记录中“最后一条记录”或者
图标即可查看最后一条记录的信息。
6.7增加、修改、删除记录功能实现
在ProductsView.cpp中建立增加、修改、删除记录功能的类向导
图6-15建立增加、删除、修改类向导
分别需要添加的程序如下:
OnDataAdd()
CanAppend())
m_pSet->
AddNew();
m_addMode=true;
UpdateData(false);
OnDataEdit()
Edit();
m_editMode=true;
OnDataDelete()
if(MessageBox("
真的要删除当前记录吗?
"
"
删除提示"
MB_YESNO|MB_ICONWARNING)==IDYES)
Delete();
//OnRecordNext();
OnUpdateDataAdd(CCmdUI*pCmdUI)
m_editMode);
OnUpdateDataEdit(CCmdUI*pCmdUI)
m_editMode);
OnUpdateDataDelete(CCmdUI*pCmdUI)
m_editMode
&
IsBOF()&
m_pSet->
IsEOF());
点击数据维护中的增加、修改、删除,或者点击图标按钮
、
就可以进行相应的操作。
6.8记录查找功能实现
在customerView.cpp中添加类向导
图6-16增加查找功能的类向导
OnRecordFind()中添加程序如下:
OnRecordFind()
CProductsFindDlgfindDlg;
if(findDlg.DoModal()==IDOK)
//m_pSet->
Close();
CStringfilterString="
ProductName='
;
filterString+=findDlg.m_strProductsName;
filterString+="
'
m_strFilter=filterString;
Open();
Requery();
OnUpdateRecordFind(CCmdUI*pCmdUI)添加程序如下:
OnUpdateRecordFind(CCmdUI*pCmdUI)
m_editMode
GetRecordCount()>
0);
,在出现的界面中,点击查找或者
按钮即可查找需要产品的信息,在出现的的对话框中输入ProductsName,点击确定查找,点击取消,则取消查找。
7开发总结
通过这次VisualC++程序的设计与实践,让我更加熟悉的掌握C++的使用与如何设计和设计系统的思路,同时把老师上课讲的东西理解的更深了。
所谓听是一回事,做事一回事,的确。
在程序设计过程中遇见不少问题,如英文数据之间的空格是否有,就会产生很大的偏差,还有数据库数据与C++中数据的切合不当也是会有许多错误的。
由于老师和同学的指导,我也学到了很多不知道的知识。
出师表
两汉:
诸葛亮
先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。
诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中府中,俱为一体;
陟罚臧否,不宜异同。
若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;
不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:
愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:
愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。
亲贤臣,远小人,此先汉所以兴隆也;
亲小人,远贤臣,此后汉所以倾颓也。
先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。
侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也
。
臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。
先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。
后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。
先帝知臣谨慎,故临崩寄臣以大事也。
受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;
故五月渡泸,深入不毛。
今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。
此臣所以报先帝而忠陛下之职分也。
至于斟酌损益,进尽忠言,则攸之、祎、允之任也。
愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。
若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;
陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。
臣不胜受恩感激。
今当远离,临表涕零,不知所言。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 产品信息管理系统 数据库实现 产品 信息管理 系统 数据库 实现