数据库课程设计——楼盘管理系统

更新时间:2023-08-28 23:06:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘要

本系统的主要功能是客房信息的管理及对各种信息的查询,增加,修改,更新。本系统的数据库是用SQL server 2000软件进行创建与设计,分别包括客房信息,客户信息,职工信息和系统信息四个表。通过系统ODBC数据源管理工具把已创建的数据源与系统数据库相连。利用VB软件对系统的窗口进行设计,包括欢迎界面、登陆界面、注册新用户界面、主菜单界面、浏览窗体和查询窗体等,可以通过这些窗体进行登陆操作,对输入的用户信息进行验证,和注册新用户操作,以及最重要的操作是对数据库中信息进行浏览与查询。并可以对数据进行添加与删除,做到及时更新。

关键词: 房产信息管理 SQL server 2000 VB

摘要 ............................................................................................................................................. 1

第1章 系统功能概述 .............................................................................................................. 3

1.1 系统功能 .................................................................................................................... 3

1.2 系统结构总图 ............................................................................................................ 3

第2章 数据库设计 .................................................................................................................. 3

2.1 需求分析 .................................................................................................................... 3

2.2 E-R模型 ..................................................................................................................... 4

2.3 关系模型 .................................................................................................................... 6

2.4 表结构设.................................................................................................................... 6

第3章 系统各功能模块的详细设计 ........................................................................................ 7

3.1各窗体的设计 ............................................................................................................... 7

3.1.1 封面…………………………………………………………………………...7

3.1.2登录……………………………………………………………………………8

3.1.3 主菜单…………………………………………………………………………9

3.1.4 注册新用户窗体……………………………………………………………..11

3.1.5 密码找回窗体………………………………………………………………..12

总结 ........................................................................................................................................... 28

参考文献.................................................................................................................................... 28

第1章 系统功能概述 1.1 系统功能

(1).房产信息的管理 (2).信息增、删、改 (3).房产信息查询 (4).用户登录系统及密码找回

1.2 系统结构总图

第2章 数据库设计 2.1 需求分析

建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。因而程序需要实现的功能有如下:

一.楼盘信息管理:楼盘信息查询、添加、删除操作。 二.楼房信息管理:楼房信息查询、添加、删除操作。 三.户型信息管理:户型信息查询、添加、删除操作。

四.系 统 管 理 :注册用户信息及密码找回系统。

2.2 E-R模型

户型编号

户型结构

户型信息 建筑面积 套内面积

户型简介

楼号

用户名

密码

系统信息 性别 员工号

密保提问

密保答案

2.3 关系模型

一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。根据E-R图向关系模型转换的原则,把E-R图转换为关系模型。关系的码用下横线标出。 (1).楼盘信息(楼盘编号、楼盘名称、位置、总建筑面积) (2).楼房信息(楼号、单元号、楼层、房号、单价、楼盘编号) (3).户型信息(户型编号、户型结构、建筑面积、套内面积、户型简介、楼号) (4).系统信息(用户名、密码、性别、员工号、密保提问、密保答案)

2.4 表结构设

本系统需在SQL Server中建立四个表,分别为楼盘信息,楼房信息,户型信息和系统信息 (1)楼盘信息表的建立与基本数据:

SQL 语句如下: create table 楼盘信息

(楼盘编号 varchar(50)primary key,

楼盘名称varchar(50),位置varchar(50),总建筑面积varchar(50), foreign key (房号)references 客房信息(房号) );

(2)楼房信息表的建立与基本数据: SQL 语句如下:

create table 楼房信息

(楼号varchar(50)primary key,

单元号varchar(50),楼层varchar(50),房号varchar(50),单价varchar(50),

);

(3)户型信息表的建立与基本数据: SQL 语句如下:

create table 户型信息

(户型编号varchar(50)primary key,

户型结构varchar(50),建筑面积varchar(50),套内面积varchar(50),户型简介varchar(50), );

(4)系统信息表的建立与基本数据: SQL语句如下:

Create table 系统信息 (用户名 varchar(50),密码 varchar(50),员工号varchar(50),密保提问varchar(50), 密保答案varchar(50),性别varchar(50));

第3章 系统各功能模块的详细设计 3.1各窗体的设计

本房产信息管理系统共包括15个窗体,分别为欢迎界面,登录窗体,用户注册,管理窗体,户型信息,楼盘信息,楼房信息,户型信息添加,楼盘信息添加,楼房信息添加,密码显示,密码找回,密码找回B,用户管理,视图查询,欢迎窗口,其中主窗体为管理窗体。 下面介绍各个窗体的设计语句及实现功能。

3.1.1 封面

封面,如图3.2.1,标题为“房产信息管理系统”,为此标题添加一个Timer,编辑代码使其可以定时变色。点击鼠标左键就可以关闭本窗体并打开登录窗体。 封面代码如下:

Private Sub Timer1_Timer() Private Sub Label1_Click() Static n As Integer 登录窗口.Show n = n + 1 Unload Me If n > 15 Then End Sub n = 0 End If

Label1.ForeColor = QBColor(n) End Sub

3.1.2登录

将打开“登录”对话框,用户输入用户名和密码,如图3.2.2,若正确则打开下面的主窗体,如图3.2.3。登录代码如下:

Dim miCount As Integer '用于记录输入密码次数 Private Sub CmdLand_Click() Dim SQLStr As String

SQLStr = "Select * From 系统信息 Where 用户名= '" & Text1.Text & "'" Adodc1.RecordSource = SQLStr Adodc1.Refresh

If Adodc1.Recordset.BOF Then '若没找到符合Where条件的记录 MsgBox "用户名错误,重新输入", vbExclamation, "警告" Text1.Text = ""

Text1.SetFocus ' Text1获得焦点 Else

If Adodc1.Recordset.Fields("密码") = Text2 Then 登录窗口.Hide 管理窗体.Show Else

MsgBox "密码错误,重新输入 ", vbExclamation, "警告" Text2.Text = "" Text2.SetFocus End If End If

miCount = miCount + 1 If miCount = 3 Then Unload Me End Sub

Private Sub CmdCancel_Click() Private Sub CmdZH_Click() Unload Me Unload Me End Sub End Sub

Private Sub Form_Load() Private Sub Form_Unload(Cancel As Integer) 'Initialize each button color. RemoveButton CmdLand.hWnd SetButton CmdLand.hWnd, vbRed RemoveButton CmdCancel.hWnd SetButton CmdCancel.hWnd, vbRed End Sub End Sub

Private Sub 找回_Click() Private Sub 注册_Click() 密码找回.Show 用户注册.Show Unload Me Unload Me

End Sub

3.1.3 主菜单

设计为MDI窗体如图3.2.3,含有主菜单:[文件]、[查询]、[添加]。 [文件]菜单包含以下子菜单及其功能: [登录]菜单:打开“登录”窗体 [用户管理]:打开“用户管理”窗体

[退出]:回到程序最初状态即回到欢迎界面。 [查询] 包含以下子菜单:

[视图查询]菜单:显示“视图查询”窗体 [图表查询]包含以下子菜单:

[楼盘信息查询] 菜单:显示“楼盘信息”窗体 [户型信息查询] 菜单:显示“户型信息”窗体 [楼房信息查询] 菜单:显示“楼房信息”窗体 [添加]包含以下子菜单:

[楼盘信息添加]菜单:显示“楼盘信息添加”窗体 [楼房信息添加]菜单:显示“楼房信息添加”窗体 [户型信息添加]菜单:显示“户型信息添加”窗体 代码如下:

Private Sub MDIForm_Load() Dim str As String

str = " Select * From 系统信息 Where 系统信息.用户名 = '" & Trim(登录窗口.Text1.Text) & "'" Adodc1.RecordSource = str Adodc1.Refresh

If Adodc1.Recordset.Fields("职权") = "1" Then mYH.Enabled = True Else: mYH.Enabled = False End If End Sub

Private Sub mHX_Click() Private Sub mDengLu_Click() 户型信息.Show 登录窗口.Show Unload Me Unload Me End Sub End Sub

Private Sub mLF_Click() Private Sub mLP_Click() 楼房信息.Show 楼盘信息.Show Unload Me Unload Me End Sub End Sub

Private Sub mHXT_Click() Private Sub mLFT_Click() 户型信息.Show 楼房信息.Show Unload Me Unload Me End Sub End Sub

Private Sub mLPT_Click() Private Sub mSChaXun_Click() 楼盘信息.Show 视图查询.Show Unload Me Unload Me End Sub End Sub

Private Sub mTuiChu_Click() Private Sub mYH_Click() 欢迎窗体.Show 用户管理.Show Unload Me Unload Me

End Sub End Sub

3.1.4 注册新用户窗体

注册新用户窗体用于添加新的用户名和密码。单击“注册新用户”菜单,打开对话框。 若输入正确,则将入的用户名保存到“系统信息”表,并提示“注册用户成功”,关闭本窗体,如图3.2.4,图3.2.5。代码如下:

Private Sub 提交_Click() Dim SQLStr As String If Text1 = "" Then

MsgBox "请输入用户名!", vbExclamation, "确认用户名" Text1.SetFocus Exit Sub Else

SQLStr = "Select * from 系统信息 where 用户名='" & Text1 & "'" Adodc1.RecordSource = SQLStr Adodc1.Refresh

If Adodc1.Recordset.EOF = False Then

MsgBox "用户名已存在,请重新输入!", vbExclamation, "检验用户名" Text1 = "" Text1.SetFocus Exit Sub End If End If

If Text2 <> Text3 Then

MsgBox "二次输入的密码不一致,请重新输入", vbExclamation, "检验密码" Text2 = "": Text3 = "" Text2.SetFocus Exit Sub

ElseIf Text2 = "" Then

MsgBox "密码不能为空!", vbExclamation, "检验密码" Text2.SetFocus Else

Adodc1.Recordset.AddNew

Adodc1.Recordset.Fields("用户名") = Trim(Text1) Adodc1.Recordset.Fields("密码") = Trim(Text2) Adodc1.Recordset.Fields("员工号") = Trim(Text4) Adodc1.Recordset.Fields("密保提问") = Trim(Text5) Adodc1.Recordset.Fields("密保答案") = Trim(Text6) Adodc1.Recordset.Update Me.Hide

MsgBox "成功注册新用户!", vbInformation, "添加用户" 登录窗口.Show End If End Sub

Private Sub 取消_Click()

登录窗口.Show Unload Me

End Sub

3.1.5 密码找回窗体

密码找回窗体用于用户在密码丢失和遗忘是找回密码。单击“密码找回”菜打开对话框。 若输入正确,则将在数据库中查找相应密保提问,并打开“密码找回b”窗体在窗体中现实密保提问如密保答案回答正确提示“密码找回成功”打开“密码现实”窗体显示密码点击“返回”按钮关闭本窗体打开“用户登录”窗体,代码如下:

Private Sub 取消_Click() 登录窗口.Show Unload Me End Sub

Private Sub 提交_Click() Dim SQLStr As String

SQLStr = "Select * From 系统信息 Where 用户名= '" & Text1.Text & "'" Adodc1.RecordSource = SQLStr Adodc1.Refresh

If Adodc1.Recordset.BOF Then '若没找到符合Where条件的记录 MsgBox "用户名错误,重新输入", vbExclamation, "警告" Text1.Text = ""

Text1.SetFocus ' Text1获得焦点 Else

If Adodc1.Recordset.Fields("员工号") = Text2 Then 密码找回.Hide 密码找回b.Show Else

MsgBox "员工号错误,重新输入 ", vbExclamation, "警告" Text2.Text = "" Text2.SetFocus

End If End If

miCount = miCount + 1 If miCount = 3 Then Unload Me End Sub

Private Sub Form_Load() Dim str As String

str = " Select * From 系统信息 Where 系统信息.用户名 = '" & Trim(密码找回.Text1.Text) & "'" Adodc1.RecordSource = str Adodc1.Refresh End Sub

Private Sub 取消_Click() 密码找回.Show Unload Me End Sub

Private Sub 提交_Click() Dim SQLStr As String

SQLStr = " Select * From 系统信息 Where 系统信息.用户名 ='" & Trim(密码找回.Text1.Text) & "'" Adodc1.RecordSource = SQLStr Adodc1.Refresh

If Adodc1.Recordset.Fields("密保答案") = Text6 Then 密码显示.Show Unload Me Else

MsgBox "答案输入错误,重新输入 ", vbExclamation, "警告" Text6.Text = "" Text6.SetFocus End If

miCount = miCount + 1 If miCount = 3 Then Unload Me End Sub

Private Sub Form_Load() Dim str As String

str = " Select * From 系统信息 Where 系统信息.用户名 ='" & Trim(密码找回.Text1.Text) & "' " Adodc1.RecordSource = str Adodc1.Refresh End Sub

Private Sub 返回_Click() 登录窗口.Show Unload Me End Sub

3.1.6视图查询窗体

可以在所选信息中进行深入查询,如在DataGrid1中点击需要的楼盘数据则在DataGrid2中会现实相对应的楼房信息。可以按各种条件查找,且具有模糊查询功能,这些条件放在组合列表框Combo中,供用户选择。在文本框中输入要查询的内容如图3.2.6所示,单击[查询]按钮,查询结果、代码如下:

Private Sub Cmd1_Click() Dim str As String

str = "select * from 楼盘信息"

str = str & " Where 楼盘信息." & Combo1.Text & " Like'" & Text2 & "%' " Adodc1.RecordSource = str Adodc1.Refresh End Sub

Private Sub Command2_Click() 管理窗体.Show Unload Me End Sub

Private Sub Form_Load() Combo1.AddItem "楼盘编号" ' Combo1.AddItem "楼盘名称" Combo1.AddItem "位置"

Combo1.AddItem "总建筑面积"

Text2.Text = "" ' 清空文本框 End Sub

Private Sub DataGrid1_Click() Dim SQLStr As String

SQLStr = "Select * From 楼房信息 Where 楼盘编号 = '" & Adodc1.Recordset.Fields("楼盘编号") & "'" Adodc2.RecordSource = SQLStr ' 设置Adodc 2连接的记录源 Adodc2.Refresh End Sub

Private Sub DataGrid2_Click() Dim SQLStrb As String

SQLStrb = "Select * From 户型信息 Where 楼号 = '" & Adodc2.Recordset.Fields("楼号") & "'" Adodc3.RecordSource = SQLStrb ' 设置Adodc 3连接的记录源 Adodc3.Refresh

End Sub

3.1.7三种图表型信息查询窗体

可以按各种条件查找,且具有模糊查询功能,这些条件放在组合列表框Combo中,供用户选择。在文本框中输入要查询的内容如图3.2.6所示,单击[查询]按钮,查询结果、代码如下:

Private Sub CmdBack_Click() Private Sub cmdSR_Click() 管理窗体.Show 楼房信息.Show Unload Me Unload Me End Sub End Sub

Private Sub Form_Load() CmdNext.Enabled = True ' [后移]按钮有效 Text1.Locked = True CmdLast.Enabled = True ' [末记录]按钮有效

Text2.Locked = True CmdFirst.Enabled = False ' [首记录]按钮无效 Text3.Locked = True CmdPre.Enabled = False ' [前移]按钮无效 Text4.Locked = True

Combo1.AddItem "楼盘编号" ' Combo1.AddItem "楼盘名称" Combo1.AddItem "位置" Combo1.AddItem "总建筑面积"

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub

Private Sub CmdFirst_Click()

Adodc1.Recordset.MoveFirst ' 记录指针移到首记录(显示首记录) CmdFirst.Enabled = False ' 让[首记录]按钮无效 CmdPre.Enabled = False ' 让[前移]按钮无效 CmdNext.Enabled = True ' 让[后移]按钮有效 CmdLast.Enabled = True ' 让[末记录]按钮有效 '在Label6上显示当前记录号/记录总数:

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub

Private Sub CmdPre_Click()

Adodc1.Recordset.MovePrevious '记录指针移到前一条记录 CmdNext.Enabled = True CmdLast.Enabled = True

If Adodc1.Recordset.BOF Then ' 如果记录指针移到首记录之前, Adodc1.Recordset.MoveFirst '则记录指针移到首记录上 CmdFirst.Enabled = False CmdPre.Enabled = False End If

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub

Private Sub CmdNext_Click()

Adodc1.Recordset.MoveNext '记录指针移到下一条记录 CmdFirst.Enabled = True CmdPre.Enabled = True

If Adodc1.Recordset.EOF Then ' 如果记录指针移到了末记录之后 Adodc1.Recordset.MoveLast '则记录指针移到末记录上 CmdNext.Enabled = False CmdLast.Enabled = False End If

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub

Private Sub CmdLast_Click()

Adodc1.Recordset.MoveLast ' 移到末记录 CmdFirst.Enabled = True CmdPre.Enabled = True

CmdNext.Enabled = False CmdLast.Enabled = False

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub

Private Sub Cmd1_Click() Dim str As String

str = "select * from 楼盘信息"

str = str & " Where 楼盘信息." & Combo1.Text & " Like'" & Text8 & "%' " Adodc1.RecordSource = str Adodc1.Refresh

Private Sub CmdBack_Click() Private Sub cmdSR_Click() 管理窗体.Show 户型信息.Show Unload Me Unload Me End Sub End Sub

Private Sub Form_Load() CmdNext.Enabled = True ' [后移]按钮有效 Text1.Locked = True CmdLast.Enabled = True ' [末记录]按钮有效 Text2.Locked = True CmdFirst.Enabled = False ' [首记录]按钮无效 Text3.Locked = True CmdPre.Enabled = False ' [前移]按钮无效 Text4.Locked = True Combo1.AddItem "楼号" ' Combo1.AddItem "单元号" Combo1.AddItem "楼层" Combo1.AddItem "房号" Combo1.AddItem "单价"

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub

Private Sub CmdFirst_Click()

Adodc1.Recordset.MoveFirst ' 记录指针移到首记录(显示首记录) CmdFirst.Enabled = False ' 让[首记录]按钮无效 CmdPre.Enabled = False ' 让[前移]按钮无效

CmdNext.Enabled = True ' 让[后移]按钮有效 CmdLast.Enabled = True ' 让[末记录]按钮有效 '在Label6上显示当前记录号/记录总数:

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub

Private Sub CmdPre_Click()

Adodc1.Recordset.MovePrevious '记录指针移到前一条记录 CmdNext.Enabled = True CmdLast.Enabled = True

If Adodc1.Recordset.BOF Then ' 如果记录指针移到首记录之前, Adodc1.Recordset.MoveFirst '则记录指针移到首记录上 CmdFirst.Enabled = False CmdPre.Enabled = False End If

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub

Private Sub CmdNext_Click()

Adodc1.Recordset.MoveNext '记录指针移到下一条记录 CmdFirst.Enabled = True CmdPre.Enabled = True

If Adodc1.Recordset.EOF Then ' 如果记录指针移到了末记录之后 Adodc1.Recordset.MoveLast '则记录指针移到末记录上 CmdNext.Enabled = False CmdLast.Enabled = False End If

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub

Private Sub CmdLast_Click()

Adodc1.Recordset.MoveLast ' 移到末记录 CmdFirst.Enabled = True CmdPre.Enabled = True CmdNext.Enabled = False CmdLast.Enabled = False

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub

Private Sub Cmd1_Click() Dim str As String

str = "select * from 楼盘信息"

str = str & " Where 楼盘信息." & Combo1.Text & " Like'" & Text8 & "%' " Adodc1.RecordSource = str Adodc1.Refresh

Private Sub CmdBack_Click() 管理窗体.Show Unload Me End Sub

Private Sub Form_Load() CmdNext.Enabled = True ' [后移]按钮有效 Text1.Locked = True CmdLast.Enabled = True ' [末记录]按钮有效 Text2.Locked = True CmdFirst.Enabled = False ' [首记录]按钮无效 Text3.Locked = True CmdPre.Enabled = False ' [前移]按钮无效 Text4.Locked = True

Combo1.AddItem "户型编号" ' Combo1.AddItem "户型结构" Combo1.AddItem "建筑面积" Combo1.AddItem "套内面积" Combo1.AddItem "用户简介"

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount End Sub

Private Sub CmdFirst_Click()

Adodc1.Recordset.MoveFirst ' 记录指针移到首记录(显示首记录) CmdFirst.Enabled = False ' 让[首记录]按钮无效 CmdPre.Enabled = False ' 让[前移]按钮无效 CmdNext.Enabled = True ' 让[后移]按钮有效 CmdLast.Enabled = True ' 让[末记录]按钮有效 '在Label6上显示当前记录号/记录总数:

Label6.Caption = "记录" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCount

本文来源:https://www.bwwdw.com/article/bddi.html

Top