家庭物品管理系统(大数据库课设)_第1页
家庭物品管理系统(大数据库课设)_第2页
家庭物品管理系统(大数据库课设)_第3页
家庭物品管理系统(大数据库课设)_第4页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用标准文档摘要随着现代生活的发展,我国经济迅速发展,人民生活水平越来越好,家家户户都买了各种家电和生活用品,家庭物品也就越来越丰富了。但是,我们的家庭总是有限的,对于这些家庭物品我们需要有一个系统的整理。通过对数据库的学习,学习了一些对数据的整理,对此,为家庭物品做了一个管理系统。用 Visual Basic 6.0 作为前端开发工具,利用其提供的集成开发环境及支持面向对象的各种标准化的控件,尤其是对 ADO的支持完成对数据库的各种操作。使这个系统能够添加、 修改、删除家庭各成员与物品的信息相关信息,当进入到系统时,可以直接通过查询用户名或购买日期来浏览物品的信息,登陆到系统之后,就可以对房

2、间和物品信息进行添加、修改删除了,从而完成对家庭物品的整理,使各家庭成员更加方便地了解自己家里的物品信息关键字:家庭物品整理方便文案大全实用标准文档目录1系统功能概述 .22数据库设计 .21.1需求分析 .21.2关系模型 .21.3 E-R 模型 .31.4表结构设计 .43系统各功能模块的详细设计 .63.1主窗体 .63.2登录 .83.3查询 .103.4用户信息 .123.5物品信息 .173.6房间信息 .244参考文献 .27文案大全实用标准文档1 系统功能概述为该家庭物品管理系统设计一个 MDI窗体作为主界面,在菜单栏创建了四个菜单:文件、查询、添加、用户名。(1)文件中有两

3、个子菜单:登录和退出。这两个子菜单分别控制登录用户和退出整个程序。(2)查询中有两个子菜单:按用户名查询和按日期查询。按用户名查询可以在用户输入某个用户名之后,显示该用户的物品情况; 按日期查找可以在输入一个日期之后,显示该日期之后购买的所有物品。(3)添加中有三个子菜单:添加用户、添加房间、添加物品。点击添加用户,可以对用户信息进行增删改查; 点击添加房间, 可以对房间信息进行增删改查操作;点击添加物品,则可以对物品信息进行增删改查操作。(4)用户名按钮有一个子菜单:注销。用来注销已经成功登录的用户,如没有登录用户,该子菜单显示无用户,成功登录之后即显示已登录用户的名称。2 数据库设计1.1

4、 需求分析( 1) 根据家庭成员的身份,为每个成员分配有一个专门的账号。(2) 此家庭物品系统管理能够添加、 删除、修改、查询家庭成员的信息以及与房间、物品之间的联系。( 3)在进入到家庭物品管理系统之后,不需要登陆就可以直接查询属于某个人的物品信息,也可以查询某个日期之后所购买的物品。( 4)当用户成功登录时,菜单栏上能够显示该用户的名称,此时,用户才能对物品信息和家庭成员信息进行添加、修改、删除1.2 关系模型( 1)家庭成员信息表Uuser:userName、password、sex、age、birthday 、status 、profession、hobby、wage( 2)物品信息表

5、Item: itemDate 、 purchaseDate 、 price 、 usedTime 、 quantity、publicItem、roomNumber、category( 3)房间表Room: roomNumber、roomName( 4)归属表Belong:itemName、userName、itemNumber文案大全实用标准文档1.3 E-R 模型整体 E-R 图ItemmnBelongUusern1saveRoom图 2-1用户信息:userNameUuserpasswordsexstatusage图 2-2物品信息:purchaseDateItemusedTimeitem

6、Datacategoryprice图 2-3hobbyprofessionbirthdaywageroomNumberquantitypublicItem文案大全实用标准文档房间信息:RoomroomNumberroomName图 2-4归属信息:BelongitemNameuserNameitemNumber图 2-51.4 表结构设计Uuser 表:create table Uuser(userName varchar(6) primary key,password char(6) not null ,sex char(2) check (sex in('男 ','

7、女'),age smallint check (age>0 and age<150),birthday datetime,status varchar(10),profession varchar(20),hobby varchar(30),wage int)文案大全实用标准文档图 2-6Item 表:create table Item(itemName varchar(20) primary key,purchaseDate datetime,price int ,usedTime datetime ,quantity smallint,publicItem char(2

8、) check(publicItem in ('是 ','否'),roomNumber varchar(3),category varchar(10)图 2-7Room表:create table Room(roomNumber varchar(3) primary key ,roomName varchar(10),)文案大全实用标准文档图 2-8Belong 表:create table Belong(itemName varchar(20),userName varchar(6),itemNumber smallint,primary key (itemN

9、ame,userName),foreign key (itemName) references Item(itemName)on delete cascadeon update cascade,foreign key (userName) references Uuser(userName)on delete cascadeon update cascade,)图 2-93 系统各功能模块的详细设计3.1 主窗体主窗口设计进入主窗体之后, 用户只能有查询的权限, 用户只有登录成功之后才能拥有添加的权限。在添加菜单栏可以对物品、用户、房间进行增删改查功能。文案大全实用标准文档图 3-1代码如下:

10、Private Sub MDIForm_load()' 设置加载主窗口是在电脑中间显示,且添加按钮不可用Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2 添加 .Enabled = FalseEnd SubPrivate Sub按日期 _Click(Index As Integer)按日期查找 .ShowEnd SubPrivate Sub按用户 _Click(Index As Integer)按用户查找 .ShowEnd SubPrivate Sub登陆 _Click(Index As Integer)检查是否

11、有用户已经登录If Not用户 .Caption = "无用户 " ThenMsgBox "以检测到登录用户!请先注销再登录! ", vbDefaultButton1, " 警告 " Exit SubEnd If登录 .Show登录 .ScaleTop = (MDIForm1.ScaleHeight - 登录 .ScaleHeight) / 2 End SubPrivate Sub添加房间 _Click(Index As Integer)文案大全实用标准文档房间 .Show显示房间信息窗口End SubPrivate Sub添加物品

12、_Click(Index As Integer)物品 .Show显示物品信息窗口End SubPrivate Sub添加用户信息 _Click(Index As Integer)账户 .Show显示用户信息窗口End SubPrivate Sub退出 _Click(Index As Integer)Unload Me退出系统End SubPrivate Sub用户 _Click()If用户 .Caption = "无用户 " ThenMsgBox "请先登录,谢谢! ", vbDefaultButton1, "提示 "登录 .Show

13、End IfEnd SubPrivate Sub注销 _Click()将主界面还原成无用户登录状态用户 .Caption = "无用户 "添加 .Enabled = FalseEnd Sub3.2 登录登录窗口设计用户只有在成功登录之后才能点击添加按钮, 当输入的用户名与数据库中的用户名和密码一样时即登录成功, 在主窗体菜单栏上显示在线用户的名称, 而且主窗体只能登录一个用户,若要切换用户,可以在主窗体点击注销即可。文案大全实用标准文档图 3-2代码如下:Private Sub Command1_Click()Dim a As String定义一个常量以记录用户名a = T

14、ext1.TextIf Text1.Text = "" ThenMsgBox " 请输入用户名!", vbOKOnly, " 提示 "Text1.SetFocusExit SubElseIf Text2.Text = "" ThenMsgBox " 请输入密码!", vbOKOnly, " 提示 "Text2.SetFocusExit SubEnd IfEnd IfDim sqlstr As String定义 sql 语句的常量sqlstr = "Select pa

15、ssword From Uuser Where userName= '" & Text1.Text & "' "Adodc1.RecordSource = sqlstrAdodc1.RefreshIf Adodc1.Recordset.BOF ThenMsgBox " 用户名错误,重新输入", vbExclamation, " 警告 "Text1.Text = ""Text1.SetFocusExit SubElse' 判断密码是否正确If Not Adodc1.R

16、ecordset.Fields("password") = Text2.Text Then文案大全实用标准文档MsgBox " 密码错误,重新输入", vbExclamation, " 警告 "Text2.Text = ""Text2.SetFocusExit SubEnd IfEnd IfMDIForm1. 用户 .Caption = aIf Not MDIForm1.用户 .Caption = " 无用户 " ThenMDIForm1. 添加 .Enabled = True 用户成功登录后修

17、改主窗体End IfUnload MeEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Move (MDIForm1.Width - Width) / 2, (MDIForm1.Height - Height) / 2End Sub3.3 查询( 1)按用户名查询窗口设计在用户输入一个日期之后, 点击查询,在 datagrid 控件里就会显示所输入日期之后的所有物品的信息。文案大全实用标准文档图 3-3代码如下:Private Sub Command1_Click()Dim sqlstr3 As

18、StringIf Text1.Text = "" ThenMsgBox " 请输入查询用户名!", vbDefaultButton1, " 提示 "Exit SubEnd Ifsqlstr3 = "Select * from byUser Where purchaseDate >= '" & Text1.Text & "' "Adodc1.RecordSource = sqlstr3Adodc1.RefreshDataGrid1.Visible = True

19、显示所查询的结果End SubPrivate Sub Command2_Click()Unload Me退回主窗体End SubPrivate Sub Form_Load()Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2End Sub( 2)按日期查询窗口设计在用户输入一个用户名之后, 在 datagrid 控件里就会显示此用户的所有物品信息。文案大全实用标准文档图 3-4代码如下:Private Sub Command1_Click()Dim sqlstr2 As StringIf Text1.Text = &quo

20、t;" ThenMsgBox "请输入查询用户名! ", vbDefaultButton1, "提示 "Exit SubEnd Ifsqlstr2 = "Select * from byUser Where userName= '" & Text1.Text & "' "Adodc2.RecordSource = sqlstr2Adodc2.RefreshDataGrid1.Visible = TrueEnd SubPrivate Sub Command2_Click()U

21、nload MeEnd SubPrivate Sub Form_Load()Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2End Sub3.4 用户信息用户窗口设计文案大全实用标准文档从主界面进入用户信息界面后, 可以在每个文本框里填写新用户的基本 信息,填写完成后,点击添加按钮,弹出添加成功,即成功添加。也可以在此界面里通过输入用户名查找每个家庭成员的基本信息, 可以点击上一个、 下一个进行浏览。查找之后对结果也可以进行修改、删除操作。图 3-5代码如下:Private Sub Command1_Click()If

22、Text1.Text = "" Or Text2.Text = "" ThenMsgBox " 请输入完整的添加信息!", vbCritical, " 提醒 "Else将输入的信息写进数据库中Adodc1.Recordset.AddNewAdodc1.Recordset.Fields("userName") = Text1.TextAdodc1.Recordset.Fields("password") = Text2.TextIf Option1.Value = True T

23、henAdodc1.Recordset.Fields("sex") = Label6.CaptionElseAdodc1.Recordset.Fields("sex") = Label7.CaptionEnd IfAdodc1.Recordset.Fields("birthday") = Text3.TextAdodc1.Recordset.Fields("age") = Text4.TextAdodc1.Recordset.Fields("status") = Text5.TextAdodc1

24、.Recordset.Fields("profession") = Text6.TextAdodc1.Recordset.Fields("hobby") = Text7.TextAdodc1.Recordset.Fields("wage") = Text8.TextAdodc1.Recordset.Update文案大全实用标准文档Adodc1.RefreshMsgBox " 添加用户成功!", vbDefaultButton1, " 提示 "End IfEnd SubPrivate Sub Co

25、mmand2_Click()If Text1.Text = "" Or Text2.Text = "" ThenMsgBox " 请输入完整的添加信息!", vbCritical, " 提醒 "ElseIf Not Text2.Text = Adodc1.Recordset.Fields("password") Then MsgBox " 密码不正确!您无权修改! ", vbCritical, " 错误 " ElseIf Option1.Value = T

26、rue ThenAdodc1.Recordset.Fields("sex") = Label6.CaptionElseAdodc1.Recordset.Fields("sex") = Label7.CaptionEnd IfAdodc1.Recordset.Fields("birthday") = Text3.TextAdodc1.Recordset.Fields("age") = Text4.TextAdodc1.Recordset.Fields("status") = Text5.TextA

27、dodc1.Recordset.Fields("profession") = Text6.TextAdodc1.Recordset.Fields("hobby") = Text7.TextIf Not Text8.Text = "" ThenAdodc1.Recordset.Fields("wage") = Text8.TextEnd IfAdodc1.Recordset.Update更新后台数据库Adodc1.RefreshMsgBox " 修改成功! ", vbDefaultButton1,

28、 " 提醒 "End IfEnd IfEnd SubPrivate Sub Command3_Click()If Text1.Text = "" Or Text2.Text = "" ThenMsgBox " 请输入完整的添加信息!", vbCritical, " 提醒 "Else判断是否有删除的权限If Not Text2.Text = Adodc1.Recordset.Fields("password") ThenMsgBox " 密码不正确!您无权删除此用户!

29、", vbCritical, " 错误 "ElseAdodc1.Recordset.DeleteAdodc1.Recordset.UpdateAdodc1.RefreshText1.Text = ""Text2.Text = ""文案大全实用标准文档Option1.Value = FalseOption2.Value = FalseText3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = "&quo

30、t;Text7.Text = ""Text8.Text = ""MsgBox " 用户删除成功!", vbDefaultButton1, " 提醒 "End IfEnd IfEnd SubPrivate Sub Command4_Click()Unload MeEnd SubPrivate Sub Command5_Click()Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF Then判断记录指针的位置Adodc1.Recordset.MoveLastCommand

31、5.Enabled = FalseCommand6.Enabled = TrueMsgBox " 已经是最后一个用户了!", vbDefaultButton1, " 提示 "Exit SubEnd IfText1.Text = Adodc1.Recordset.Fields("userName")Text2.Text = Adodc1.Recordset.Fields("password")If Adodc1.Recordset.Fields("sex") = "男 " Th

32、enOption1.Value = TrueElseOption2.Value = TrueEnd IfText3.Text = Adodc1.Recordset.Fields("birthday")Text4.Text = Adodc1.Recordset.Fields("age")Text5.Text = Adodc1.Recordset.Fields("status")Text6.Text = Adodc1.Recordset.Fields("profession")Text7.Text = Adodc1.R

33、ecordset.Fields("hobby")Text8.Text = Adodc1.Recordset.Fields("wage")End SubPrivate Sub Command6_Click()Adodc1.Recordset.MovePrevious将记录指针向上移If Adodc1.Recordset.BOF Then文案大全实用标准文档Adodc1.Recordset.MoveFirstCommand6.Enabled = FalseCommand5.Enabled = TrueMsgBox " 已经是第一个用户了!"

34、;, vbDefaultButton1, "提示 "Exit SubEnd IfText1.Text = Adodc1.Recordset.Fields("userName")Text2.Text = Adodc1.Recordset.Fields("password")If Adodc1.Recordset.Fields("sex") = "男 " ThenOption1.Value = TrueElseOption2.Value = TrueEnd IfText3.Text = Adodc1

35、.Recordset.Fields("birthday")Text4.Text = Adodc1.Recordset.Fields("age")Text5.Text = Adodc1.Recordset.Fields("status")Text6.Text = Adodc1.Recordset.Fields("profession")Text7.Text = Adodc1.Recordset.Fields("hobby")Text8.Text = Adodc1.Recordset.Fields(

36、"wage")If Adodc1.Recordset.EOF ThenCommand5.Enabled = FalseEnd IfEnd SubPrivate Sub Command7_Click()Command5.Enabled = TrueCommand6.Enabled = TrueDim sql As Stringsql = "select * from Uuser"If Text1.Text = "" Or Text2.Text = "" ThenMsgBox " 请输入用户名和密码!&quo

37、t;, vbCritical, " 提醒 "Exit SubEnd IfAdodc1.RecordSource = sqlAdodc1.RefreshIf Adodc1.Recordset.BOF ThenMsgBox " 无此用户 ,请重新输入 ", vbExclamation, " 警告 "Text1.Text = ""Text1.SetFocusExit SubElse' 判断密码是否正确If Not Adodc1.Recordset.Fields("password") = Te

38、xt2.Text Then MsgBox " 密码错误,重新输入 ", vbExclamation, " 警告 "Text2.Text = ""文案大全实用标准文档Text2.SetFocusExit SubElseIf Adodc1.Recordset.Fields("sex") = "男 " ThenOption1.Value = TrueElseOption2.Value = TrueEnd IfText3.Text = Adodc1.Recordset.Fields("birt

39、hday")Text4.Text = Adodc1.Recordset.Fields("age")Text5.Text = Adodc1.Recordset.Fields("status")Text6.Text = Adodc1.Recordset.Fields("profession")Text7.Text = Adodc1.Recordset.Fields("hobby")Text8.Text = Adodc1.Recordset.Fields("wage")End IfEnd I

40、fEnd SubPrivate Sub Form_Load()Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2Command5.Enabled = FalseCommand6.Enabled = FalseEnd Sub3.5 物品信息物品窗口设计进入物品信息窗口之后,可以在文本框中输入要添加的物品信息,然后点击添加按钮,弹出添加成功的对话框,即添加物品信息成功!也可以通过输入物品名称、购买日期、 是否是公用品、 所有者来精确查找某条或某类物品信息。上一个、下一个可以浏览物品信息。修改完信息之后,也可以点击修改按钮来修改

41、此物品信息。点击删除按钮即可直接删除此物品信息。退出即可直接返回主界面。文案大全实用标准文档图 3-6代码如下:Private Function setNull()构造一个置空的函数Text1.Text = ""Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""Text8.Text = ""Combo1.Te

42、xt = ""End FunctionPrivate Sub Combo1_LostFocus()If Combo1.Text = " 是 " ThenLabel9.Visible = FalseText8.Visible = FalseEnd IfIf Combo1.Text = " 否 " ThenLabel9.Visible = TrueText8.Visible = TrueEnd IfEnd SubPrivate Sub Command1_Click()If Text1.Text = "" Or Comb

43、o1.Text = "" Then文案大全实用标准文档MsgBox " 请输入添加信息!", vbCritical, " 错误 "Exit SubEnd IfIf Combo1.Text = " 是 " ThenAdodc1.Recordset.AddNew添加物品信息Adodc1.Recordset.Fields("itemName") = Text1.TextAdodc1.Recordset.Fields("purchaseDate") = Text2.TextAdodc

44、1.Recordset.Fields("price") = Text3.TextAdodc1.Recordset.Fields("usedTime") = Text4.TextAdodc1.Recordset.Fields("quantity") = Text5.TextAdodc1.Recordset.Fields("category") = Text6.TextAdodc1.Recordset.Fields("roomnumber") = Text7.TextAdodc1.Recordset

45、.Fields("publicItem") = Combo1.TextAdodc1.Recordset.UpdateAdodc1.RefreshsetNullMsgBox " 添加成功! ", vbDefaultButton1, " 提示 "Exit SubEnd IfIf Combo1.Text = " 否 " ThenDim sqls As Stringsqls = "select * from Item"Adodc1.RecordSource = sqlsAdodc1.Recordset.

46、AddNewAdodc1.Recordset.Fields("itemName") = Text1.TextAdodc1.Recordset.Fields("purchaseDate") = Text2.TextAdodc1.Recordset.Fields("price") = Text3.TextAdodc1.Recordset.Fields("usedTime") = Text4.TextAdodc1.Recordset.Fields("quantity") = Text5.TextAdo

47、dc1.Recordset.Fields("category") = Text6.TextAdodc1.Recordset.Fields("roomnumber") = Text7.TextAdodc1.Recordset.Fields("publicItem") = Combo1.TextAdodc1.Recordset.UpdateAdodc1.RefreshDim sql As Stringsql7 = "select * from Belong"Adodc1.RecordSource = sql7Adodc

48、1.Recordset.AddNewAdodc1.Recordset.Fields("itemName") = Text1.TextAdodc1.Recordset.Fields("userName") = Text8.TextAdodc1.Recordset.Fields("itemNumber") = Text5.TextAdodc1.Recordset.UpdateAdodc1.Refresh文案大全实用标准文档setNullMsgBox " 添加成功! ", vbDefaultButton1, "

49、 提示 "Exit SubEnd IfEnd SubPrivate Sub Command2_Click()If Combo1.Text = " 是 " ThenAdodc1.Recordset.Fields("itemName") = Text1.TextAdodc1.Recordset.Fields("purchaseDate") = Text2.TextAdodc1.Recordset.Fields("price") = Text3.TextAdodc1.Recordset.Fields("usedTime") = Text4.TextAdodc1.Recordset.Fields("quantity") = Text5.TextAdodc1.Recordset.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论