数据库大型实验报告.docx
- 文档编号:22851507
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:53
- 大小:2.50MB
数据库大型实验报告.docx
《数据库大型实验报告.docx》由会员分享,可在线阅读,更多相关《数据库大型实验报告.docx(53页珍藏版)》请在冰豆网上搜索。
数据库大型实验报告
数据库大型实验报告
一.课题设计概要
1.需求分析概要
随着电子计算机的发展,人们发现计算机管理能带给人们更高的效率和方便。
在现代管理工作中应用电脑可以极大地提高管理工作的效率,扩大管理的覆盖面,提高管理工作的精确度,加快信息交流的速度。
采用传统的手工管理模式,其工作效率、管理质量和管理水平已不能满足当今经营管理发展的要求,也无法和国外的企业进行竞争。
只有采用先进的计算机管理技术,把一些先进的管理技术和管理方式融入到企业销售管理中去,才能提高企业的工作效率和管理水平,使企业能够随着市场的动态变化而随时调整自身的销售业务水平,在瞬息万变的市场竞争中脱颖而出。
2.系统功能概要
商品管理的主要任务是利用计算机对商品销售和客户流动进行日常的管理,如商品查询,客户统计。
我们针对系统服务对象的具体要求,设计了本商品管理系统。
该系统主要包含以下几大功能:
<1>对各种商品的基础信息进行维护和管理。
能够完成商品信息的查询、统计、添加、修改和删除;
<2>对客户的基本信息进行维护和管理。
能够完成对客户信息的查询、统计、添加、修改和删除;
<3>对销售的商品进行登记、统计和查询;
<4>对出入库的商品进行登记、统计和查询。
二.系统功能结构设计
三.数据库设计
结合实际情况和需求分析,在商业管理系统数据库G_Sale中设计了4张表:
商品表(Goods)、客户表(Client)、商品临时表(Gtemp)、客户临时表(Ctemp)
这些表描述的商业信息有商品编号、商品名称、商品规格、商品数量、商品金额、商品库存编号、客户名称、客户编号、客户联系方式、销售编号等。
<1>表中字段结构设计:
商品表(Goods)
字段名称
字段类型
字段大小
编号
int
4
类别
Char
10
名称
Char
10
规格
Char
10
数量
Int
4
单价
Float
8
金额
Int
4
计量单位
Char
10
折扣
Float
8
供应商
Char
4
生产商
Char
4
库存编号
Int
4
存放位置
Char
10
库存日期
Datetime
8
备注
varchar
255
主键——编号外键——计量单位
客户信息表(Client)
字段名称
字段类型
字段大小
编号
Int
4
名称
char
10
类型
Char
10
性别
Char
4
地址
Char
50
联系电话
Char
10
移动电话
Char
10
电子邮件
Char
10
Int
4
MSN
Int
4
信用
Char
10
重要性
Char
10
备注
Varchar
255
主键——编号外键——计量单位
<2>存储过程说明:
存储过程名称
描述
作用
Proc_CClear
CREATEPROCEDUREproc_CClear
AS
deletefromCtemp
GO
删除客户表Ctemp中内容
Proc_Client
CREATEPROCEDUREproc_Client
AS
declare@编号int
declare@名称char(10)
declare@类型char(10)
declare@性别char
(2)
declare@地址varchar(250)
declare@联系电话char(10)
declare@移动电话char(10)
declare@电子邮件char(50)
declare@QQint
declare@MSNint
declare@信用char(10)
declare@重要性char(10)
declare@备注varchar(255)
declareget_khcursor
for
select*fromClient
deletefromCtemp
openget_kh
fetchget_khinto@编号,@名称,@类型,@性别,@地址,@联系电话,@移动电话,@电子邮件,@QQ,@MSN,@信用,@重要性,@备注
while@@fetch_Status=0
begin
insertintoCtempvalues(@编号,@名称,@类型,@性别,@地址,@联系电话,@移动电话,@电子邮件,@QQ,@MSN,@信用,@重要性,@备注)
fetchget_khinto@编号,@名称,@类型,@性别,@地址,@联系电话,@移动电话,@电子邮件,@QQ,@MSN,@信用,@重要性,@备注
end
GO
添加所有的客户表信息到客户临时表Ctemp
Proc_GClear
CREATEPROCEDUREproc_GClear
AS
deletefromGtemp
GO
删除商品临时表内容
Proc_Goods
CREATEPROCEDUREproc_Goods
AS
declare@编号int
declare@类别char(10)
declare@名称char(10)
declare@规格char(10)
declare@数量int
declare@单价float(8)
declare@金额int
declare@计量单位char(10)
declare@折扣float(8)
declare@供应商char(10)
declare@生产商char(10)
declare@库存编号int
declare@存放位置char(10)
declare@库存日期datetime
declare@备注varchar(255)
declareget_khcursor
for
select*fromGoods
deletefromGtemp
openget_kh
fetchget_khinto@编号,@类别,@名称,@规格,@数量,@单价,@金额,@计量单位,@折扣,@供应商,@生产商,@库存编号,@存放位置,@库存日期,@备注
while@@fetch_Status=0
begin
insertintoGtempvalues(@编号,@类别,@名称,@规格,@数量,@单价,@金额,@计量单位,@折扣,@供应商,@生产商,@库存编号,@存放位置,@库存日期,@备注)
fetchget_khinto@编号,@类别,@名称,@规格,@数量,@单价,@金额,@计量单位,@折扣,@供应商,@生产商,@库存编号,@存放位置,@库存日期,@备注
end
GO
添加所有商品信息到商品临时表Gtemp
四.界面设计
<1>开始界面
功能:
点击框内任意无字位置即进入“启动界面“。
实现:
PrivateSubForm_Click()
Timer1.Enabled=False
启动菜单.Show
EndSub
PrivateSubLabel1_Click()
End
EndSub
PrivateSubTimer1_Timer()
Timer1.Enabled=False
Form2.Show
EndSub
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label1.ForeColor=&HFF8080
EndSub
PrivateSubLabel1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label1.ForeColor=&H80FF&
EndSub
<2>启动界面
功能:
鼠标点击白框内字体进入相应模块
实现:
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label1.ForeColor=&H80000012:
Label2.ForeColor=&H80000012
Label3.ForeColor=&H80000012:
Label4.ForeColor=&H80000012
Label5.ForeColor=&H80000012
EndSub
PrivateSubLabel1_Click()
商品管理菜单.Show
EndSub
PrivateSubLabel1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label1.ForeColor=&HFF&
EndSub
PrivateSubLabel2_Click()
客户管理菜单.Show
EndSub
PrivateSubLabel2_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label2.ForeColor=&HFF&
EndSub
PrivateSubLabel3_Click()
商品销售菜单.Show
EndSub
PrivateSubLabel3_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label3.ForeColor=&HFF&
EndSub
PrivateSubLabel4_Click()
库存管理菜单.Show
EndSub
PrivateSubLabel4_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label4.ForeColor=&HFF&
EndSub
PrivateSubLabel5_Click()
End
EndSub
PrivateSubLabel5_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label5.ForeColor=&HFF&
EndSub
<3>商品管理界面
功能:
鼠标下拉菜单进入相应模块
实现:
PrivateSubSD_Click()
Load商品管理菜单1
商品管理菜单1.Show
EndSub
PrivateSubCT_Click()
Load商品管理菜单3
商品管理菜单3.Show
EndSub
PrivateSubTS_Click()
Load商品管理菜单2
商品管理菜单2.Show
EndSub
PrivateSubTCJM_Click()
Load启动菜单
启动菜单.Show
EndSub
PrivateSubTCXT_Click()
End
EndSub
<4>客户管理菜单
功能:
通过鼠标下拉菜单,进入相应模块
实现:
PrivateSubCT_Click()
Load客户管理菜单3
客户管理菜单3.Show
EndSub
PrivateSubSD_Click()
Load客户管理菜单1
客户管理菜单1.Show
EndSub
PrivateSubTCJM_Click()
Load启动菜单
启动菜单.Show
EndSub
PrivateSubTCXT_Click()
End
EndSub
PrivateSubTS_Click()
Load客户管理菜单2
客户管理菜单2.Show
EndSub
<4>库存管理界面
功能:
通过鼠标点击字体,进入相应模块
实现:
PrivateSubLabel2_Click()
Load库存管理菜单2
库存管理菜单2.Show
EndSub
PrivateSubLabel2_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label2.ForeColor=&HFFFF00
EndSub
PrivateSubLabel1_Click()
Load库存管理菜单1
库存管理菜单1.Show
EndSub
PrivateSubLabel1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label1.ForeColor=&HFFFF00
EndSub
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label1.ForeColor=&HFF00FF:
Label2.ForeColor=&HFF00FF
EndSub
PrivateSubLabel3_Click()
Load启动菜单
启动菜单.Show
EndSub
<5>商品销售界面
功能:
通过鼠标电击变色字体,进入相应模块
实现:
PrivateSubLabel1_Click()
Load商品销售菜单1
商品销售菜单1.Show
EndSub
PrivateSubLabel2_Click()
Load商品销售菜单2
商品销售菜单2.Show
EndSub
PrivateSubLabel3_Click()
Load启动菜单
启动菜单1.Show
EndSub
PrivateSubLabel2_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label2.ForeColor=&HFF&
EndSub
PrivateSubLabel3_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label3.ForeColor=&HFF&
EndSub
PrivateSubLabel1_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label1.ForeColor=&HFF&
EndSub
PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
Label1.ForeColor=&H80000012:
Label2.ForeColor=&H80000012
Label3.ForeColor=&H80000012
EndSub
五.功能模块设计
1.商品管理
<1>商品浏览<2>商品查询
<1>浏览和刷新
cm.Execute
Adodc1.Refresh
EndSub
PrivateSubCommand7_Click()
DimcnAsNewADODB.Connection
DimcmAsNewADODB.Command
DimmystrAsString
mystr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;UserID=sa;InitialCatalog=G_Sale;DataSource=(LOCAL)"
cn.ConnectionString=mystr
cn.Open
cm.ActiveConnection=cn
cm.CommandType=adCmdStoredProc
cm.CommandText="proc_GClear"
cm.Execute
Adodc1.Refresh
EndSub
PrivateSubCommand8_Click()
DimcnAsNewADODB.Connection
DimcmAsNewADODB.Command
DimmystrAsString
mystr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;UserID=sa;InitialCatalog=G_Sale;DataSource=(LOCAL)"
cn.ConnectionString=mystr
cn.Open
cm.ActiveConnection=cn
cm.CommandType=adCmdStoredProc
cm.CommandText="proc_GDaily"
cm.Execute
Adodc1.Refresh
EndSub
PrivateSubCommand9_Click()
DimcnAsNewADODB.Connection
DimcmAsNewADODB.Command
DimmystrAsString
mystr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;UserID=sa;InitialCatalog=G_Sale;DataSource=(LOCAL)"
cn.ConnectionString=mystr
cn.Open
cm.ActiveConnection=cn
cm.CommandType=adCmdStoredProc
cm.CommandText="proc_GClear"
cm.Execute
Adodc1.Refresh
EndSub
PrivateSubSSTab1_DblClick()
EndSub
<2>添加和删除
(1)PublicSubCmdEnd(frmAsForm)
End
EndSub
PrivateSubCommand2_Click()
Load商品管理菜单
商品管理菜单.Show
EndSub
PrivateSubForm_Load()
'向cboOperators组合框中加入查询所需要使用的运算符号
cboOperatorsCboOp
'通过传递进来的SQL语句,取得表的各个字段的结构
DimrsAsNewADODB.Recordset
rs.Open"select*fromGoods",Cnn,adOpenKeyset,adLockReadOnly
'将字段填入到字段列表中
Dimfld
ForEachfldInrs.Fields
CboFields.AddItemfld.Name
Nextfld
rs.Close
CboFields.ListIndex=0
EndSub
PrivateSubCommand1_Click()
End
EndSub
PrivateSubCmdAdd_Click()
DimbhAsLong
Dimrs1AsNewADODB.Recordset
rs1.Open"select*fromGoodsorderby编号",Cnn,adOpenKeyset,adLockOptimistic
Ifrs1.RecordCount>0Then
Ifrs1.EOF=FalseThenrs1.MoveLast
bh=Val(rs1.Fields("编号"))+1
商品管理菜单4.Text1(0).Text=Format(bh,"00000")
Else
商品管理菜单4.Text1(0).Text="00001"
EndIf
Load商品管理菜单4
商品管理菜单4.Show
EndSub
PrivateSubCmdFind_Click()
IfCboOp.Text="Like"Then
Adodc1.RecordSource="select*fromGoodswhere"&CboFields.Text&""&CboOp.Text&"'%"&TxtExpression.Text&"%'"
Adodc1.Refresh
Else
Adodc1.RecordSource="select*fromGoodswhere"&CboFields.Text&""&CboOp.Text&"'"&TxtExpression.Text&"'"
Adodc1.Refresh
EndIf
EndSub
PrivateSubCmdModify_Click()
Fori=0To14
'对应列
DataGrid1.Col=i
商品管理菜单4.Text1(i)=DataGrid1.Text
Nexti
Load商品管理菜单4
商品管理菜单4.Show
EndSub
PrivateSubCmdDelete_Click()
DimaAsString
IfAdodc1.Recordset.RecordCount>0Then
a=MsgBox("您确实要删除这条数据吗?
",vbYesNo)
Ifa=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Refresh
EndIf
Else
MsgBox("没有要删除的数据!
")
EndIf
EndSub
PrivateSubForm_Unload(CancelAsInteger)
CallCmdEnd(Me)
EndSub
(2)DimiAsInteger'定义整型变量
Dimrs1AsNewADODB.Recordset'定义数据集对象
PublicFunctionCnn()AsStri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 大型 实验 报告