/*==============================================================*/
/* Table 4-9: 结算单索引 */
/*==============================================================*/
create table 结算单索引 (
结算单编号 bigint not null,
供应商名称 char(50) not null,
日期 smalldatetime not null,
结算确认 char(4) not null,
总价 money not null
)
go
/*==============================================================*/
/* Table 4-10: 结算存储记录 */
/*==============================================================*/
create table 结算存储记录 (
结算单编号 bigint not null,
商品名称 varchar(50) null,
商品编码 char(10) null,
订货数量 int null,
数量单位 char(10) null,
商品单价 money null,
constraint PK_结算存储记录 primary key (结算单编号)
)
go
/*==============================================================*/
/* Table 4-11: 订货单索引表 */
/*==============================================================*/
create table 订货单索引表 (
订货单编号 bigint not null,
供应商名称 char(50) not null,
日期 smalldatetime not null
)
go
/*==============================================================*/
/* Table 4-12:订货单记录 */
/*==============================================================*/
create table 订货单记录 (
订货单编号 bigint not null,
供应商名称 char(50) null,
商品编码 char(10) null,
订货数量 int null,
数量单位 char(10) null,
商品单价 money null,
constraint PK_订货单记录 primary key (订货单编号)
)
go
/*==============================================================*/
/* Table 4-12: 财务帐目记录定义 */
/*==============================================================*/
create table 财务帐目记录定义 (
编号 Int null,
资金走向 char(8) null,
资金属性 char(4) null,
资金额 float null,
日期 char(10) null
)
go
/*==============================================================*/
/* Table 4-13: 购物小票记录 */
/*==============================================================*/
create table 购物小票记录 (
小票序列号 Char(14) not null,
商品编码 Char(10) null,
商品名称 Char(40) null,
商品数量 Int null,
商品单价 Float null,
商品总价 Float null,
constraint PK_购物小票记录 primary key (小票序列号)
)
go
/*==============================================================*/
/* Table 4-13: 退货记录 */
/*==============================================================*/
create table 退货记录 (
商品编码 Char(10) null,
商品数量 Int null,
商品单价 Float null,
商品总价 Float null
)
go
/*==============================================================*/
/* Table 4-14: 销售记录 */
/*==============================================================*/
create table 销售记录 (
商品编码 char(10) null,
商品名称 varchar(50) null,
销售数量 bigint null,
销售年月日 char(11) null,
商品销售额 float null
)
go
4.4 数据库访问技术-ADO
Microsoft® ActiveX® Data Objects (ADO)能够编写通过 OLE DB 提供者对在数据库服务器中的数据进行访问和操作的应用程序。其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。ADO 支持用于建立基于客户端/服务器应用程序的主要功能。
1、连接数据库
Public db As New ADODB.Connection
db.Open "Provider=SQLOLEDB;Data Source='chen';Initial Catalog=POs;User ID=sa;Password=;"
2、数据库操作
private rd As New ADODB.Recordset
rd.Open "sql statement", db, adOpenStatic, adLockOptimistic
4.5 新建数据库登陆账号
(1)打开Microsoft SQL Server 企业管理器
(2)展开服务器,如图4.5-1
图4.5-1
(3)点击[安全性]节点,右键击[登录],如图4.5-2点击[新建登录],弹开[新建登录]面板,如图4.5-3,在[常规]面板输入[名称],SQL Server 身份验证[密码],在常规面板的[默认设置]中选择Pos数据库。
(4)选择[新建登陆]的[数据库访问] 面板,如图图4.5-4,在[指定此登录可以访问的数据库]中选定[Pos],然后在[“Pos”的数据库角色]中选择[public]和[db_owner]。
(5)点击确定,完成新建数据库登录。
图4.5-2
图4.5-3
图4.5-4
5人事管理模块详细设计
人事管理模块主要功能包括增加、修改、删除、查询员工信息,显示所有员工信息和员工工资管理。
5.1员工信息查询窗体设计
按员工编号、姓名、所在部门查询员工资料。该主窗体如图5.1-1,主要由一个用于选择选查询方式的ComboBox控件和一个显示查旬结果集的MSHFlexGrid控件组成。
图5.1-1
执行查询功能的主要代码如下:
If Combo1.Text = "姓名" Then
rd.Open "SELECT * FROM 人事 where 姓名 = '" & Text2.Text & "'", db, adOpenStatic, adLockOptimistic
Set MSHFlexGrid1.DataSource = rd
End If
If Combo1.Text = "员工编号" Then
str1 = Text2.Text
If (IsNumeric(str1) = False) Then
MsgBox ("输入编号格式有错误")
Exit Sub
End If
rd.Open "SELECT * FROM 人事表单 where 编号 = '" & Text2.Text & "'", db, adOpenStatic, adLockOptimistic
Set MSHFlexGrid1.DataSource = rd
End If
If Combo1.Text = "所在部门" Then
rd.Open "SELECT * FROM 人事 where 部门名称 = '" & Text2.Text & "'", db, adOpenStatic, adLockOptimistic
Set MSHFlexGrid1.DataSource = rd
End If
If MSHFlexGrid1.Rows = 1 Then
MsgBox ("查无相符信息")
Exit Sub
End If
5.2员工工资信息管理窗体设计
员工工资信息管理,添加、修改、显示员工工资信息,主窗体如图5.1-2,由几个用于输入员工工资信息的Text控件和一个用于显示员工工资信息的MSHFlexGrid控件组成。
图5.1-2
实现以上功能的主要代码如下:
rd.Open "SELECT * FROM 人事 where (编号 = '" & Text12.Text & "') and (姓名 ='" & Text6.Text & "')", db, adOpenStatic, adLockOptimistic
If rd.BOF = True Or rd.EOF = True Then
MsgBox ("输入信息不相符")
Exit Sub
Else: ra.Open "delete FROM 工资 where (编号 = '" & Text12.Text & "') and (姓名 ='" & Text6.Text & "') ", db, adOpenStatic, adLockOptimistic
End IF
rb.Open "SELECT * FROM 工资 ", db, adOpenStatic, adLockOptimistic
rb.AddNew
rb("姓名") = Text6.Text
rb("编号") = Text12.Text
rb("工资数额") = Text14.Text
rb("日期") = Year(Date) & "-" & Month(Date) & "-" & Day(Date)
rb.Update
rb.Close
rb.Open "SELECT * FROM 工资 ", db, adOpenStatic, adLockOptimistic
Set MSHFlexGrid1.DataSource = rb
5.3 添加员工信息窗体设计
增加员工信息,主窗体如图5.1-3,由几个用于输入员工资料的Text控件和几个用于选择日期的ComboBox控件组成。
图5.1-3
实现增加员工资料功能的主要实现代码如下:
rd.Open "SELECT * FROM 人事 where 编号 = '" & Text7.Text & "'", db, adOpenStatic, adLockOptimistic
If rd.BOF = False Or rd.EOF = False Then
MsgBox ("此编号已存在")
Exit Sub
End If
rd.AddNew
rd("姓名") = Text1.Text
rd("性别") = Combo1.Text
rd("编号") = Text7.Text
rd("学历") = Combo4.Text
rd("部门名称") = Combo3.Text
rd("岗位") = Text9.Text
rd("工作性质") = Combo2.Text
rd("出生日期") = Combo5.Text & "-" & Combo6.Text & "-" & Combo7.Text
rd("工作时间") = Combo8.Text & "-" & Combo9.Text & "-" & Combo10.Text
rd("联系方式") = Text5.Text
rd.Update
rd.Close
5.4 显示所有员工信息的窗体设计
显示所有的员工资料,主窗体如图5.1-4,只有一个显示员工信息的MSHFlexGrid控件。
商场管理系统——数据库设计与人事管理模块(三)由毕业论文网(www.huoyuandh.com)会员上传。