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

下载本文档

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

文档简介

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

2、就可以对房间和物品信息进行添加、修改删除了,从而完成对家庭物品的整理,使各家庭成员更加方便地了解自己家里的物品信息关键字: 家庭物品 整理 方便0沈阳理工大学课程设计专用纸目 录1 系统功能概述32 数据库设计31.1 需求分析31.2 关系模型31.3 E-R模型41.4表结构设计53系统各功能模块的详细设计73.1主窗体73.2登录93.3查询113.4用户信息133.5物品信息183.6房间信息254参考文献28沈阳理工大学课程设计专用纸1 系统功能概述为该家庭物品管理系统设计一个MDI窗体作为主界面,在菜单栏创建了四个菜单:文件、查询、添加、用户名。(1) 文件中有两个子菜单:登录和退

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

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

5、、purchaseDate、price、usedTime、quantity、publicItem、roomNumber、category (3)房间表 Room: roomNumber、roomName (4)归属表 Belong:itemName、userName、itemNumber 1.3 E-R模型UuserBelongItem 整体E-R图mnnRoomsave1图2-1用户信息:userNamehobbyUuserprofessionpasswordbirthdaysexwageagestatus图2-2物品信息:ItemroomNumberpurchaseDatequantity

6、usedTimepublicItemitemDatapricecategory图2-3房间信息:RoomroomNumberroomName图2-4归属信息:BelonguserNameitemNumberitemName图2-51.4表结构设计Uuser表:create table Uuser (userName varchar(6) primary key, password char(6) not null , sex char(2) check (sex in(男,女), age smallint check (age0 and age= & Text1.Text & Adodc1.R

7、ecordSource = sqlstr3Adodc1.RefreshDataGrid1.Visible = True 显示所查询的结果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_

8、Click()Dim sqlstr2 As StringIf Text1.Text = ThenMsgBox 请输入查询用户名!, vbDefaultButton1, 提示Exit SubEnd Ifsqlstr2 = Select * from byUser Where userName= & Text1.Text & Adodc2.RecordSource = sqlstr2Adodc2.RefreshDataGrid1.Visible = TrueEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Loa

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

10、息!, vbCritical, 提醒Else 将输入的信息写进数据库中Adodc1.Recordset.AddNewAdodc1.Recordset.Fields(userName) = Text1.TextAdodc1.Recordset.Fields(password) = Text2.TextIf Option1.Value = True ThenAdodc1.Recordset.Fields(sex) = Label6.CaptionElseAdodc1.Recordset.Fields(sex) = Label7.CaptionEnd IfAdodc1.Recordset.Field

11、s(birthday) = Text3.TextAdodc1.Recordset.Fields(age) = Text4.TextAdodc1.Recordset.Fields(status) = Text5.TextAdodc1.Recordset.Fields(profession) = Text6.TextAdodc1.Recordset.Fields(hobby) = Text7.TextAdodc1.Recordset.Fields(wage) = Text8.TextAdodc1.Recordset.UpdateAdodc1.RefreshMsgBox 添加用户成功!, vbDef

12、aultButton1, 提示End IfEnd SubPrivate Sub Command2_Click()If Text1.Text = Or Text2.Text = ThenMsgBox 请输入完整的添加信息!, vbCritical, 提醒ElseIf Not Text2.Text = Adodc1.Recordset.Fields(password) ThenMsgBox 密码不正确!您无权修改!, vbCritical, 错误ElseIf Option1.Value = True Then Adodc1.Recordset.Fields(sex) = Label6.Captio

13、nElseAdodc1.Recordset.Fields(sex) = Label7.CaptionEnd IfAdodc1.Recordset.Fields(birthday) = Text3.TextAdodc1.Recordset.Fields(age) = Text4.TextAdodc1.Recordset.Fields(status) = Text5.TextAdodc1.Recordset.Fields(profession) = Text6.TextAdodc1.Recordset.Fields(hobby) = Text7.TextIf Not Text8.Text = Th

14、enAdodc1.Recordset.Fields(wage) = Text8.TextEnd IfAdodc1.Recordset.Update 更新后台数据库Adodc1.RefreshMsgBox 修改成功!, vbDefaultButton1, 提醒End IfEnd IfEnd SubPrivate Sub Command3_Click()If Text1.Text = Or Text2.Text = ThenMsgBox 请输入完整的添加信息!, vbCritical, 提醒Else 判断是否有删除的权限If Not Text2.Text = Adodc1.Recordset.Fi

15、elds(password) ThenMsgBox 密码不正确!您无权删除此用户!, vbCritical, 错误ElseAdodc1.Recordset.DeleteAdodc1.Recordset.UpdateAdodc1.RefreshText1.Text = Text2.Text = Option1.Value = FalseOption2.Value = FalseText3.Text = Text4.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = MsgBox 用户删除成功!, vbDefaultButton1,

16、 提醒End IfEnd IfEnd SubPrivate Sub Command4_Click()Unload MeEnd SubPrivate Sub Command5_Click()Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF Then 判断记录指针的位置 Adodc1.Recordset.MoveLast Command5.Enabled = False Command6.Enabled = True MsgBox 已经是最后一个用户了!, vbDefaultButton1, 提示 Exit Sub End IfText1.Text

17、= Adodc1.Recordset.Fields(userName)Text2.Text = Adodc1.Recordset.Fields(password)If Adodc1.Recordset.Fields(sex) = 男 ThenOption1.Value = TrueElseOption2.Value = TrueEnd IfText3.Text = Adodc1.Recordset.Fields(birthday)Text4.Text = Adodc1.Recordset.Fields(age)Text5.Text = Adodc1.Recordset.Fields(statu

18、s)Text6.Text = Adodc1.Recordset.Fields(profession)Text7.Text = Adodc1.Recordset.Fields(hobby)Text8.Text = Adodc1.Recordset.Fields(wage)End SubPrivate Sub Command6_Click()Adodc1.Recordset.MovePrevious 将记录指针向上移 If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst Command6.Enabled = False Command5.E

19、nabled = True MsgBox 已经是第一个用户了!, vbDefaultButton1, 提示 Exit Sub End 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.Recordset.Fields(birthday)Tex

20、t4.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)If Adodc1.Recordset.EOF ThenCommand5.Enabled = FalseEnd IfEnd SubPrivate Sub Command7

21、_Click()Command5.Enabled = TrueCommand6.Enabled = TrueDim sql As Stringsql = select * from UuserIf Text1.Text = Or Text2.Text = ThenMsgBox 请输入用户名和密码!, vbCritical, 提醒Exit SubEnd IfAdodc1.RecordSource = sqlAdodc1.RefreshIf Adodc1.Recordset.BOF Then MsgBox 无此用户,请重新输入, vbExclamation, 警告 Text1.Text = Tex

22、t1.SetFocusExit SubElse 判断密码是否正确 If Not Adodc1.Recordset.Fields(password) = Text2.Text Then MsgBox 密码错误,重新输入 , vbExclamation, 警告Text2.Text = Text2.SetFocusExit SubElseIf Adodc1.Recordset.Fields(sex) = 男 ThenOption1.Value = TrueElseOption2.Value = TrueEnd IfText3.Text = Adodc1.Recordset.Fields(birthd

23、ay)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 IfEnd SubPrivate Sub Form_Load()Move (Screen.Width - Width) / 2, (Scr

24、een.Height - Height) / 2Command5.Enabled = FalseCommand6.Enabled = FalseEnd Sub3.5物品信息物品窗口设计进入物品信息窗口之后,可以在文本框中输入要添加的物品信息,然后点击添加按钮,弹出添加成功的对话框,即添加物品信息成功!也可以通过输入物品名称、购买日期、是否是公用品、所有者来精确查找某条或某类物品信息。上一个、下一个可以浏览物品信息。修改完信息之后,也可以点击修改按钮来修改此物品信息。点击删除按钮即可直接删除此物品信息。退出即可直接返回主界面。图3-6代码如下:Private Function setNull()

25、 构造一个置空的函数Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = Combo1.Text = End FunctionPrivate Sub Combo1_LostFocus()If Combo1.Text = 是 ThenLabel9.Visible = FalseText8.Visible = FalseEnd IfIf Combo1.Text = 否 ThenLabel9.Visible = TrueText8.Visible

26、= TrueEnd IfEnd SubPrivate Sub Command1_Click()If Text1.Text = Or Combo1.Text = ThenMsgBox 请输入添加信息!, vbCritical, 错误Exit SubEnd IfIf Combo1.Text = 是 Then Adodc1.Recordset.AddNew 添加物品信息 Adodc1.Recordset.Fields(itemName) = Text1.Text Adodc1.Recordset.Fields(purchaseDate) = Text2.Text Adodc1.Recordset.F

27、ields(price) = Text3.Text Adodc1.Recordset.Fields(usedTime) = Text4.Text Adodc1.Recordset.Fields(quantity) = Text5.Text Adodc1.Recordset.Fields(category) = Text6.Text Adodc1.Recordset.Fields(roomnumber) = Text7.Text Adodc1.Recordset.Fields(publicItem) = Combo1.TextAdodc1.Recordset.UpdateAdodc1.Refre

28、shsetNullMsgBox 添加成功!, vbDefaultButton1, 提示Exit SubEnd IfIf Combo1.Text = 否 ThenDim sqls As Stringsqls = select * from ItemAdodc1.RecordSource = sqlsAdodc1.Recordset.AddNew Adodc1.Recordset.Fields(itemName) = Text1.Text Adodc1.Recordset.Fields(purchaseDate) = Text2.Text Adodc1.Recordset.Fields(price

29、) = Text3.Text Adodc1.Recordset.Fields(usedTime) = Text4.Text Adodc1.Recordset.Fields(quantity) = Text5.Text Adodc1.Recordset.Fields(category) = Text6.Text Adodc1.Recordset.Fields(roomnumber) = Text7.Text Adodc1.Recordset.Fields(publicItem) = Combo1.TextAdodc1.Recordset.UpdateAdodc1.RefreshDim sql A

30、s Stringsql7 = select * from BelongAdodc1.RecordSource = sql7Adodc1.Recordset.AddNewAdodc1.Recordset.Fields(itemName) = Text1.TextAdodc1.Recordset.Fields(userName) = Text8.TextAdodc1.Recordset.Fields(itemNumber) = Text5.TextAdodc1.Recordset.UpdateAdodc1.RefreshsetNullMsgBox 添加成功!, vbDefaultButton1,

31、提示Exit SubEnd IfEnd SubPrivate Sub Command2_Click()If Combo1.Text = 是 Then Adodc1.Recordset.Fields(itemName) = Text1.Text Adodc1.Recordset.Fields(purchaseDate) = Text2.Text Adodc1.Recordset.Fields(price) = Text3.Text Adodc1.Recordset.Fields(usedTime) = Text4.Text Adodc1.Recordset.Fields(quantity) =

32、Text5.Text Adodc1.Recordset.Fields(category) = Text6.Text Adodc1.Recordset.Fields(roomnumber) = Text7.Text Adodc1.Recordset.Fields(publicItem) = Combo1.TextAdodc1.Recordset.UpdateAdodc1.RefreshsetNull 调用置空函数MsgBox 修改成功!, vbDefaultButton1, 提示Exit SubEnd IfEnd SubPrivate Sub Command3_Click()Adodc1.Rec

33、ordset.Delete 删除物品信息Adodc1.Recordset.UpdateAdodc1.RefreshMsgBox 删除成功!, vbDefaultButton1, 提示End SubPrivate Sub Command4_Click()Unload MeEnd SubPrivate Sub Command5_Click()Command6.Enabled = TrueCommand7.Enabled = TrueIf Not Text1.Text = ThenDim sql1 As Stringsql1 = Select * From item Where itemName=

34、& Text1.Text & Adodc1.RecordSource = sql1Adodc1.RefreshText2.Text = Adodc1.Recordset.Fields(purchaseDate)Text3.Text = Adodc1.Recordset.Fields(price)Text4.Text = Adodc1.Recordset.Fields(usedTime)Text5.Text = Adodc1.Recordset.Fields(quantity)Text6.Text = Adodc1.Recordset.Fields(category)Text7.Text = A

35、dodc1.Recordset.Fields(roomnumber)Combo1.Text = Adodc1.Recordset.Fields(publicItem)If Combo1.Text = 否 ThenText8.Text = Adodc1.Recordset.Fields(userName)End IfExit SubEnd IfIf Not Text2.Text = ThenDim sql2 As Stringsql2 = Select * From items Where purchaseDate= & Text2.Text & Adodc1.RecordSource = sq

36、l2Adodc1.RefreshText1.Text = Adodc1.Recordset.Fields(itemName)Text3.Text = Adodc1.Recordset.Fields(price)Text4.Text = Adodc1.Recordset.Fields(usedTime)Text5.Text = Adodc1.Recordset.Fields(quantity)Text6.Text = Adodc1.Recordset.Fields(category)Text7.Text = Adodc1.Recordset.Fields(roomnumber)Combo1.Te

37、xt = Adodc1.Recordset.Fields(publicItem)If Combo1.Text = 否 ThenText8.Text = Adodc1.Recordset.Fields(userName)End IfExit SubEnd IfIf Not Text6.Text = ThenDim sql3 As Stringsql3 = Select * From items Where category= & Text6.Text & Adodc1.RecordSource = sql3Adodc1.RefreshText1.Text = Adodc1.Recordset.F

38、ields(itemName)Text2.Text = Adodc1.Recordset.Fields(purchaseDate)Text3.Text = Adodc1.Recordset.Fields(price)Text4.Text = Adodc1.Recordset.Fields(usedTime)Text5.Text = Adodc1.Recordset.Fields(quantity)Text7.Text = Adodc1.Recordset.Fields(roomnumber)Combo1.Text = Adodc1.Recordset.Fields(publicItem)If

39、Combo1.Text = 否 ThenText8.Text = Adodc1.Recordset.Fields(userName)End IfExit SubEnd IfIf Not Text8.Text = ThenDim sql4 As Stringsql4 = Select * From items Where userName= & Text8.Text & Adodc1.RecordSource = sql4Adodc1.RefreshText1.Text = Adodc1.Recordset.Fields(itemName)Text2.Text = Adodc1.Recordse

40、t.Fields(purchaseDate)Text3.Text = Adodc1.Recordset.Fields(price)Text4.Text = Adodc1.Recordset.Fields(usedTime)Text5.Text = Adodc1.Recordset.Fields(quantity)Text6.Text = Adodc1.Recordset.Fields(category)Text7.Text = Adodc1.Recordset.Fields(roomnumber)Combo1.Text = Adodc1.Recordset.Fields(publicItem)

41、If Combo1.Text = 否 ThenText8.Text = Adodc1.Recordset.Fields(userName)End IfExit SubEnd IfIf Combo1.Text = 是 ThenDim sql5 As Stringsql5 = Select * From Item Where publicItem = & Combo1.Text & Adodc1.RecordSource = sql5Adodc1.RefreshText1.Text = Adodc1.Recordset.Fields(itemName)Text2.Text = Adodc1.Rec

42、ordset.Fields(purchaseDate)Text3.Text = Adodc1.Recordset.Fields(price)Text4.Text = Adodc1.Recordset.Fields(usedTime)Text5.Text = Adodc1.Recordset.Fields(quantity)Text6.Text = Adodc1.Recordset.Fields(category)Text7.Text = Adodc1.Recordset.Fields(roomnumber)Exit SubEnd IfIf Combo1.Text = 否 ThenDim sql

43、6 As Stringsql6 = Select * From items Where publicItem = & Combo1.Text & Adodc1.RecordSource = sql6Adodc1.RefreshText1.Text = Adodc1.Recordset.Fields(itemName)Text2.Text = Adodc1.Recordset.Fields(purchaseDate)Text3.Text = Adodc1.Recordset.Fields(price)Text4.Text = Adodc1.Recordset.Fields(usedTime)Text5.Text = Adodc1.Recordset.Fields(quantity)Text6.Text = Adodc1.Recordset.Fields(category)Text7.Text = Adodc1.Recordset.Fields(roomnumber)Text8.Text = Adodc1.Recordset.Fields(userName)Exit SubEnd IfEnd SubPrivate Sub Command6_Click()Ad

温馨提示

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

评论

0/150

提交评论