收藏 分销(赏)

家庭物品管理系统(数据库课设).doc

上传人:人****来 文档编号:4129248 上传时间:2024-07-31 格式:DOC 页数:21 大小:89.54KB
下载 相关 举报
家庭物品管理系统(数据库课设).doc_第1页
第1页 / 共21页
家庭物品管理系统(数据库课设).doc_第2页
第2页 / 共21页
家庭物品管理系统(数据库课设).doc_第3页
第3页 / 共21页
家庭物品管理系统(数据库课设).doc_第4页
第4页 / 共21页
家庭物品管理系统(数据库课设).doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

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、pur

5、chaseDate、price、usedTime、quantity、publicItem、roomNumber、category (3)房间表 Room: roomNumber、roomName (4)归属表 Belong:itemName、userName、itemNumber1。3 ER模型UuserBelongItem 整体ER图mnnRoomsave1图2-1用户信息:userNamehobbyUuserprofessionpasswordbirthdaysexwageagestatus图2-2物品信息:ItemroomNumberpurchaseDatequantityusedTim

6、epublicItemitemDatapricecategory图23房间信息:RoomroomNumberroomName图2-4归属信息:BelonguserNameitemNumberitemName图251。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 age150), birthday datetime, status va

7、rchar(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) check(publicItem in (是,否)), roomNumber varchar(3), category varchar(10))图2-7Room表:

8、create table Room(roomNumber varchar(3) primary key , roomName varchar(10), )图28Belong表:create table Belong(itemName varchar(20), userName varchar(6), itemNumber smallint,primary key (itemName,userName),foreign key (itemName) references Item(itemName)on delete cascadeon update cascade,foreign key (u

9、serName) references Uuser(userName)on delete cascadeon update cascade,)图2-93系统各功能模块的详细设计3。1主窗体主窗口设计进入主窗体之后,用户只能有查询的权限,用户只有登录成功之后才能拥有添加的权限。在添加菜单栏可以对物品、用户、房间进行增删改查功能。图3-1代码如下:Private Sub MDIForm_load()设置加载主窗口是在电脑中间显示,且添加按钮不可用Move (Screen。Width - Width) / 2, (Screen。Height Height) / 2添加.Enabled = False

10、End SubPrivate Sub 按日期_Click(Index As Integer)按日期查找.ShowEnd SubPrivate Sub 按用户_Click(Index As Integer)按用户查找。ShowEnd SubPrivate Sub 登陆_Click(Index As Integer)检查是否有用户已经登录If Not 用户。Caption = 无用户 ThenMsgBox ”以检测到登录用户!请先注销再登录!”, vbDefaultButton1, ”警告”Exit SubEnd If登录。Show登录。ScaleTop = (MDIForm1.ScaleHeig

11、ht 登录。ScaleHeight) / 2End SubPrivate Sub 添加房间_Click(Index As Integer)房间.Show 显示房间信息窗口End SubPrivate Sub 添加物品_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(

12、)If 用户。Caption = 无用户 ThenMsgBox ”请先登录,谢谢!”, vbDefaultButton1, ”提示登录.ShowEnd IfEnd SubPrivate Sub 注销_Click()将主界面还原成无用户登录状态用户。Caption = 无用户添加.Enabled = FalseEnd Sub3。2登录登录窗口设计用户只有在成功登录之后才能点击添加按钮,当输入的用户名与数据库中的用户名和密码一样时即登录成功,在主窗体菜单栏上显示在线用户的名称,而且主窗体只能登录一个用户,若要切换用户,可以在主窗体点击注销即可。图32代码如下:Private Sub Command

13、1_Click()Dim a As String 定义一个常量以记录用户名a = Text1。TextIf Text1.Text = ” ThenMsgBox 请输入用户名!”, vbOKOnly, ”提示”Text1。SetFocusExit SubElseIf Text2.Text = ” ThenMsgBox 请输入密码!, vbOKOnly, ”提示Text2。SetFocusExit Sub End IfEnd IfDim sqlstr As String 定义sql语句的常量sqlstr = Select password From Uuser Where userName= ”

14、& Text1。Text & ” Adodc1。RecordSource = sqlstrAdodc1.RefreshIf Adodc1.Recordset。BOF Then MsgBox 用户名错误,重新输入”, vbExclamation, 警告” Text1。Text = ”Text1。SetFocusExit SubElse 判断密码是否正确 If Not Adodc1。Recordset。Fields(”password”) = Text2。Text Then MsgBox ”密码错误,重新输入 , vbExclamation, ”警告”Text2。Text = ”Text2.Set

15、FocusExit Sub End IfEnd IfMDIForm1.用户.Caption = aIf Not MDIForm1。用户。Caption = 无用户 ThenMDIForm1.添加.Enabled = True 用户成功登录后修改主窗体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) 按用户名查询窗口设

16、计 在用户输入一个日期之后,点击查询,在datagrid控件里就会显示所输入日期之后的所有物品的信息.图33 代码如下:Private Sub Command1_Click()Dim sqlstr3 As StringIf Text1.Text = ” ThenMsgBox ”请输入查询用户名!”, vbDefaultButton1, ”提示Exit SubEnd Ifsqlstr3 = ”Select from byUser Where purchaseDate = ” & Text1。Text & Adodc1.RecordSource = sqlstr3Adodc1。RefreshDat

17、aGrid1。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控件里就会显示此用户的所有物品信息。图34代码如下:Private Sub Command1_Click()Dim sqlstr2 As StringIf Text1。Text

18、 = ” 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_Load()Move (Screen。Width - Width) / 2, (Scr

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

20、dc1.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。Fields(”birthday”) = Text3.TextAdodc1。

21、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 添加用户成功!”, vbDefaultButton1, ”提示”End

22、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 ThenAdodc1。Recordset.Fields(sex”) = Label6。CaptionElseAdo

23、dc1.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 = ”

24、ThenAdodc1。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。Re

25、cordset.Fields(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 ”用户删除

26、成功!”, vbDefaultButton1, ”提醒”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, 提示 E

27、xit 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)Text4。Text = Adodc1。Recordset.Fields(”age”)Text5。Tex

28、t = Adodc1。Recordset。Fields(status”)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.MoveFirs

29、t Command6.Enabled = False Command5.Enabled = 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 IfTex

30、t3.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。Recordset.Fields(”hobby”)Text8.Text = Adodc1.Recordset。Fields(”wage”)If Adodc1。Recordset.EOF ThenC

31、ommand5。Enabled = FalseEnd IfEnd SubPrivate Sub Command7_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.B

32、OF Then MsgBox ”无此用户,请重新输入”, vbExclamation, ”警告” Text1.Text = ”Text1.SetFocusExit SubElse 判断密码是否正确 If Not Adodc1。Recordset.Fields(password”) = Text2.Text Then MsgBox 密码错误,重新输入 , vbExclamation, ”警告”Text2。Text = ”Text2.SetFocusExit SubElseIf Adodc1。Recordset.Fields(sex) = 男” ThenOption1。Value = TrueEl

33、seOption2.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。Recordset。Fields(”hobby”)Text8.Text = Adodc1。Recordset。Fields(wage)E

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

35、来修改此物品信息.点击删除按钮即可直接删除此物品信息。退出即可直接返回主界面。图36代码如下:Private Function setNull() 构造一个置空的函数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 = FalseTex

36、t8.Visible = FalseEnd IfIf Combo1.Text = 否” ThenLabel9。Visible = TrueText8.Visible = 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(”it

37、emName”) = Text1。Text Adodc1.Recordset。Fields(”purchaseDate”) = Text2。Text Adodc1.Recordset。Fields(price”) = Text3。Text Adodc1。Recordset.Fields(”usedTime”) = Text4.Text Adodc1。Recordset。Fields(”quantity”) = Text5。Text Adodc1.Recordset。Fields(”category) = Text6。Text Adodc1。Recordset.Fields(”roomnumbe

38、r”) = Text7.Text Adodc1。Recordset.Fields(publicItem”) = Combo1。TextAdodc1。Recordset.UpdateAdodc1。RefreshsetNullMsgBox ”添加成功!”, vbDefaultButton1, 提示Exit SubEnd IfIf Combo1。Text = ”否 ThenDim sqls As Stringsqls = select from ItemAdodc1.RecordSource = sqlsAdodc1.Recordset.AddNew Adodc1。Recordset。Fields(

39、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”) = Text5。Text Adodc1。Recordset.Fields(”category) = Text6。Text Adodc1。Recordset。Fields(roomnumber)

40、= Text7。Text Adodc1。Recordset。Fields(publicItem) = Combo1。TextAdodc1.Recordset。UpdateAdodc1.RefreshDim sql As Stringsql7 = ”select from BelongAdodc1.RecordSource = sql7Adodc1.Recordset。AddNewAdodc1.Recordset。Fields(”itemName”) = Text1.TextAdodc1.Recordset。Fields(”userName”) = Text8.TextAdodc1。Record

41、set。Fields(itemNumber”) = Text5.TextAdodc1。Recordset.UpdateAdodc1。RefreshsetNullMsgBox 添加成功!, vbDefaultButton1, 提示”Exit SubEnd IfEnd SubPrivate Sub Command2_Click()If Combo1。Text = ”是” Then Adodc1。Recordset。Fields(”itemName”) = Text1。Text Adodc1。Recordset.Fields(purchaseDate) = Text2。Text Adodc1。Rec

42、ordset。Fields(”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.U

43、pdateAdodc1.RefreshsetNull 调用置空函数MsgBox 修改成功!”, vbDefaultButton1, 提示Exit SubEnd IfEnd SubPrivate Sub Command3_Click()Adodc1。Recordset.Delete 删除物品信息Adodc1。Recordset。UpdateAdodc1。RefreshMsgBox ”删除成功!”, vbDefaultButton1, 提示End SubPrivate Sub Command4_Click()Unload MeEnd SubPrivate Sub Command5_Click()C

44、ommand6.Enabled = TrueCommand7.Enabled = TrueIf Not Text1。Text = ” ThenDim sql1 As Stringsql1 = ”Select * From item Where itemName= ” 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 = Adodc1。Recordset.Fields(”roomnumber”)Combo1.Text = Adodc1。Recordset。Fields(”publicItem”)If Combo1.Text = 否 ThenText8.Text

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服