产品信息管理系统数据库实现文档格式.docx

上传人:b****5 文档编号:19664234 上传时间:2023-01-08 格式:DOCX 页数:20 大小:353.67KB
下载 相关 举报
产品信息管理系统数据库实现文档格式.docx_第1页
第1页 / 共20页
产品信息管理系统数据库实现文档格式.docx_第2页
第2页 / 共20页
产品信息管理系统数据库实现文档格式.docx_第3页
第3页 / 共20页
产品信息管理系统数据库实现文档格式.docx_第4页
第4页 / 共20页
产品信息管理系统数据库实现文档格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

产品信息管理系统数据库实现文档格式.docx

《产品信息管理系统数据库实现文档格式.docx》由会员分享,可在线阅读,更多相关《产品信息管理系统数据库实现文档格式.docx(20页珍藏版)》请在冰豆网上搜索。

产品信息管理系统数据库实现文档格式.docx

打开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++中数据的切合不当也是会有许多错误的。

由于老师和同学的指导,我也学到了很多不知道的知识。

出师表

两汉:

诸葛亮

  先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。

然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。

诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。

  宫中府中,俱为一体;

陟罚臧否,不宜异同。

若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;

不宜偏私,使内外异法也。

  侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:

愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。

  将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:

愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。

  亲贤臣,远小人,此先汉所以兴隆也;

亲小人,远贤臣,此后汉所以倾颓也。

先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。

侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也

  臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。

先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。

后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。

  先帝知臣谨慎,故临崩寄臣以大事也。

受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;

故五月渡泸,深入不毛。

今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。

此臣所以报先帝而忠陛下之职分也。

至于斟酌损益,进尽忠言,则攸之、祎、允之任也。

  愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。

若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;

陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。

臣不胜受恩感激。

  今当远离,临表涕零,不知所言。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 天文地理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1