您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 产品信息管理系统 ― 数据库实现
产品信息管理系统——数据库实现班级:姓名:学号:1产品信息管理系统的简介产品信息管理系统是在VisualC++环境下的数据库编程,后台使用Access数据库,在产品信息管理系统界面,可以根据需要进行相应的操作。管理员可以对产品信息进行添加、删除、修改等操作,避免了很多不必要的麻烦,也可以对产品信息进行查询,方便管理。2数据库访问技术简介ODBS,即开放数据库互连,它提供了一组标准应用程序编程接口,用户可使用SQL语句实现对数据库管理系统的访问。ODBC应用程序通过ODBCAPI访问不同数据源的数据,每个不同的数据源都由一个ODBS驱动程序支持。用户可使用ODBC环境中的驱动程序管理器,实现驱动程序与ODBS数据源的连接。这样在使用数据库操作指令时,由ODBS选中的驱动程序提供转换,解释成ODBS环境下的数据库表的具体操作。当用户的应用程序与一个数据源建立连接时,ODBS驱动管理器会为VisualC++数据库程序装入合适的驱动程序。ODBC体系架构如下:应用程序--ODBC驱动程序管理器--ODBC驱动程序--各种关系数据库3通过ODBC访问数据库图3-1ODBC访问数据库结构图4数据库设计产品信息管理系统DBMSDBODBC驱动程序DBDBMSDBDB驱动程序管理器Access:(1)第一步:创建一个新的空数据库打开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:Addyourcommandhandlercodeherem_pSet-MoveFirst();UpdateData(false);}在voidCProducts2View::OnUpdateRecordFirst(CCmdUI*pCmdUI)添加程序如下:voidCProducts2View::OnUpdateRecordFirst(CCmdUI*pCmdUI){//TODO:AddyourcommandupdateUIhandlercodeherepCmdUI-Enable(!m_addMode&&!m_editMode&&!(m_pSet-IsBOF()));}编译后,点击,在出现的界面中,点击菜单栏记录中“第一条记录”或者图标即可查看第一条记录的信息。(2)浏览“下一条记录”的实现在ProductsView.cpp中添加类向导图6-12建立下一条记录类向导在voidCProducts2View::OnRecordNext()添加程序如下:voidCProducts2View::OnRecordNext(){//TODO:Addyourcommandhandlercodehereif(m_pSet-IsEOF()){OnRecordLast();return;}m_pSet-MoveNext();UpdateData(false);}在voidCProducts2View::OnUpdateRecordNext(CCmdUI*pCmdUI)添加程序如下:voidCProducts2View::OnUpdateRecordNext(CCmdUI*pCmdUI){//TODO:AddyourcommandupdateUIhandlercodeherepCmdUI-Enable(!m_addMode&&!m_editMode&&!(m_pSet-IsEOF()));}编译后,点击,在出现的界面中,点击菜单栏记录中“下一条记录”或者标即可查看下一条记录的信息。(3)浏览上一条记录的实现在ProductsView.cpp中添加类向导图6-13建立上一条记录类向导在voidCProducts2View::OnRecordNext()添加程序如下:voidCProducts2View::OnRecordNext(){//TODO:Addyourcommandhandlercodehereif(m_pSet-IsEOF()){OnRecordLast();return;}m_pSet-MoveNext();UpdateData(false);}在voidCProducts2View::OnUpdateRecordPrev(CCmdUI*pCmdUI)添加程序如下:voidCProducts2View::OnUpdateRecordPrev(CCmdUI*pCmdUI){//TODO:AddyourcommandupdateUIhandlercodeherepCmdUI-Enable(!m_addMode&&!m_editMode&&!(m_pSet-IsBOF()));}编译后,点击,在出现的界面中,点击菜单栏记录中“上一条记录”或者图标即可查看上一条记录的信息。(4)浏览最后一条记录的实现在ProductsView.cpp中添加类向导图6-14建立上一条记录类向导在voidCProducts2View::OnRecordLast()添加程序如下:voidCProducts2View::OnRecordLast(){//TODO:Addyourcommandhandlercodeherem_pSet-MoveLast();UpdateData(false);}在voidCProducts2View::OnUpdateRecordLast(CCmdUI*pCmdUI)添加程序如下:voidCProducts2View::OnUpdateRecordLast(CCmdUI*pCmdUI){//TODO:AddyourcommandupdateUIhandlercodeherepCmdUI-Enable(!m_addMode&&!m_editMode&&!(m_pSet-IsEOF()));}编译后,点击,在出现的界面中,点击菜单栏记录中“最后一条记录”或者图标即可查看最后一条记录的信息。6.7增加、修改、删除记录功能实现在ProductsView.cpp中建立增加、修改、删除记录功能的类向导图6-15建立增加、删除、修改类向导分别需要添加的程序如下:voidCProducts2View::OnDataAdd(){//TODO:Addyourcommandhandlercodehereif(m_pSet-CanAppend()){m_pSet-AddNew();m_addMode=true;UpdateData(false);}}voidCProducts2View::OnDataEdit(){//TODO:Addyourcommandhandlercodehereif(m_pSet-CanAppend()){m_pSet-Edit();m_editMode=true;}}voidCProducts2View::OnDataDelete(){//TODO:Addyourcommandhandlercodehereif(MessageBox(真的要删除当前记录吗?,删除提示,MB_YESNO|MB_ICONWARNING)==IDYES){m_pSet-Delete();//OnRecordNext();UpdateData(false);}}voidCProducts2View::OnUpdateDataAdd(CCmdUI*pCmdUI){//TODO:Add
本文标题:产品信息管理系统 ― 数据库实现
链接地址:https://www.777doc.com/doc-3818901 .html