📄 yongdianguanlixitong.txt
字号:
数据库课程设计报告
(七)用电管理系统
一、基本要求
通过本课程设计,能够比较清楚的理解数据库原理及基本实现的技术,掌握了数据库设计技术和方法,并能独立编写一定的数据库应用程序。
1、 数据库设计,考虑必要的数据完整性、一致性、约束、规则等。
2、 开发一个简单的数据库应用程序(程序有注释)。开发的工具不限。
3、 安全性设计及实现。用户鉴别,权限的实现。进入系统的用户必须要有一个合法的系统帐号,用户完成的操作必须有相应的权限。
4、 数据库采用ACCESS,SQL Server2000,VFP等数据库
5、 输入一些基本信息(不少于30条),对系统进行测试。
6、 系统帮助(可选)
二、试验内容:
1、 用电企业(用电企业编号、用电企业名、地址、电话、联系人)
2、 电费信息(谷价,峰价)
3、 用电情况(用电企业编号、谷电量、峰电量、年月、年合计用电量、年合计用电费)
要求能够进行如下工作:
1、 能够统计各个用电企业的月耗电量以及电费
2、 能够统计查询各个用电企业的总的谷电量和峰电量
3、 能够统计该地区的峰谷电量比例以及电费情况
4、 修改基本数据
5、 用户分级管理,人机界面良好
三、程序内容:
数据库名: 用电管理系统
数据库路径: d:mengjian用电管理系统.dbc
数据库版本: 10
Database StoredProceduresDependencies
Table 用户管理表
*Path 用户管理表.dbf
*PrimaryKey peo
Field peo
*Caption 用户名称
Field mi
*Caption 密码
Field qu
*Caption 权限
Index peo
*Unique TRUE
Table 用户浏览表
*Path 用户浏览表.dbf
*PrimaryKey cno
Field cno
Field cname
Field caddress
Field ctel
Field crp
Field jan
*DefaultValue 0
Field feb
*DefaultValue 0
Field mar
*DefaultValue 0
Field apr
*DefaultValue 0
Field may
*DefaultValue 0
Field jun
*DefaultValue 0
Field jul
*DefaultValue 0
Field aug
*DefaultValue 0
Field sep
*DefaultValue 0
Field oct
*DefaultValue 0
Field nov
*DefaultValue 0
Field dec
*DefaultValue 0
Field janf
*DefaultValue 0
Field febf
*DefaultValue 0
Field marf
*DefaultValue 0
Field aprf
*DefaultValue 0
Field mayf
*DefaultValue 0
Field junf
*DefaultValue 0
Field julf
*DefaultValue 0
Field augf
*DefaultValue 0
Field sepf
*DefaultValue 0
Field octf
*DefaultValue 0
Field novf
*DefaultValue 0
Field decf
*DefaultValue 0
Field yec
*DefaultValue 0
Field yef
*DefaultValue 0
Index cno
*Unique TRUE
Table c
*Path c.dbf
Field jan
Field feb
Field mar
Field apr
Field may
Field jun
Field jul
Field aug
Field sep
Field oct
Field nov
Field dec
表1
表结构: D:MENGJIAN用户浏览表.DBF
数据记录数: 35
最近更新的时间: 07/02/05
代码页: 936
字段 字段名 类型 宽度 小数位 索引 排序 Nulls
1 CNO 字符型 3 升序 PINYIN 否
2 CNAME 字符型 50 否
3 CADDRESS 字符型 100 否
4 CTEL 字符型 12 否
5 CRP 字符型 16 否
6 JAN 数值型 10 2 否
7 FEB 数值型 10 2 否
8 MAR 数值型 10 2 否
9 APR 数值型 10 2 否
10 MAY 数值型 10 2 否
11 JUN 数值型 10 2 否
12 JUL 数值型 10 2 否
13 AUG 数值型 10 2 否
14 SEP 数值型 10 2 否
15 OCT 数值型 10 2 否
16 NOV 数值型 10 2 否
17 DEC 数值型 10 2 否
18 JANF 数值型 15 2 否
19 FEBF 数值型 15 2 否
20 MARF 数值型 15 2 否
21 APRF 数值型 15 2 否
22 MAYF 数值型 15 2 否
23 JUNF 数值型 15 2 否
24 JULF 数值型 15 2 否
25 AUGF 数值型 15 2 否
26 SEPF 数值型 15 2 否
27 OCTF 数值型 15 2 否
28 NOVF 数值型 15 2 否
29 DECF 数值型 15 2 否
30 YEC 数值型 20 2 否
31 YEF 数值型 20 2 否
** 总计 ** 522
表2
表结构: D:MENGJIANC.DBF
数据记录数: 1
最近更新的时间: 07/02/05
代码页: 936
字段 字段名 类型 宽度 小数位 索引 排序 Nulls
1 JAN 数值型 5 2 否
2 FEB 数值型 5 2 否
3 MAR 数值型 5 2 否
4 APR 数值型 5 2 否
5 MAY 数值型 5 2 否
6 JUN 数值型 5 2 否
7 JUL 数值型 5 2 否
8 AUG 数值型 5 2 否
9 SEP 数值型 5 2 否
10 OCT 数值型 5 2 否
11 NOV 数值型 5 2 否
12 DEC 数值型 5 2 否
** 总计 **
表3
表结构: D:MENGJIAN用户管理表.DBF
数据记录数: 5
最近更新的时间: 06/28/05
代码页: 936
字段 字段名 类型 宽度 小数位 索引 排序 Nulls
1 PEO 字符型 8 升序 PINYIN 否
2 MI 字符型 3 否
3 QU 字符型 6 否
** 总计 ** 18
对象 command1 过程 click
set exact on
a=alltrim(thisform.text3.value)
b=alltrim(thisform.text4.value)
if thisform.optiongroup1.option1.value=1
if a = "" .or. b = ""
messagebox("管理员密码不能为空")
else
locate for a=alltrim(peo)
if found()
if b=alltrim(mi)
do form 管理员表单
thisform.release
endif
else
thisform.text3.value=""
thisform.text4.value=""
endif
endif
endif
if thisform.optiongroup1.option2.value=1
if a = "" .or. b = ""
messagebox("用户名密码不能为空")
else
locate for a=alltrim(peo)
if found()
if b=alltrim(mi)
do form 普通用户浏览状况表单
thisform.release
endif
else
thisform.text3.value=""
thisform.text4.value=""
endif
endif
endif
对象 command2 过程 click
quit
对象 command1 过程 click
SELECT DISTINCT SUM(_a.jan), SUM(_a.feb), SUM(_a.mar), SUM(_a.apr),;
SUM(_a.may), SUM(_a.jun), SUM(_a.jul), SUM(_a.aug), SUM(_a.sep), SUM(_a.oct),;
SUM(_a.nov), SUM(_a.dec);
FROM 用电管理系统! 用户浏览表 _a, 用电管理系统!c _c into array a
b=min(a(1),a(2),a(3),a(4),a(5),a(5),a(6),a(7),a(8),a(9),a(10),a(11),a(12))
thisform.pageframe1.page1.text1.value=b
对象 command2 过程 click
SELECT DISTINCT SUM(_a.jan), SUM(_a.feb), SUM(_a.mar), SUM(_a.apr),;
SUM(_a.may), SUM(_a.jun), SUM(_a.jul), SUM(_a.aug), SUM(_a.sep), SUM(_a.oct),;
SUM(_a.nov), SUM(_a.dec);
FROM 用电管理系统! 用户浏览表_a, 用电管理系统!c _c into array a
b=max(a(1),a(2),a(3),a(4),a(5),a(5),a(6),a(7),a(8),a(9),a(10),a(11),a(12))
thisform.pageframe1.page1.text2.value=b
对象 command1 过程 click
a=alltrim(thisform.pageframe1.page2.text2.value)
if a == ""
messagebox("企业编号不能为空")
else
locate for cno=a
if found()
go recno()
thisform.pageframe1.page2.command4.enabled=.t.
else
messagebox("找不到")
endif
endif
THISFORM.REFRESH()
对象 command2 过程 click
select * from c into array v
update 用户浏览表 set janf=round(jan*v(1),2),febf=round(feb*v(2),2),;
marf=round(mar*v(3),2),aprf=round(apr*v(4),2),mayf=round(may*v(5),2),;
junf=round(jun*v(6),2),julf=round(jul*v(7),2),augf=round(aug*v(8),2),;
sepf=round(sep*v(9),2),octf=round(oct*v(10),2),novf=round(nov*v(11),2),;
decf=round(dec*v(12),2),yef=ROUND(jan*v(1)+v(2)*feb+;
mar*v(3)+apr*v(4)+v(5)*may+jun*v(6)+v(7)*jul+;
aug*v(8)+sep*v(9)+v(10)*oct+nov*v(11)+v(12)*dec,2),;
yec=jan+feb+mar+apr+may+jun+jul+aug+sep+oct+nov+dec
对象 command3 过程 click
a=alltrim(thisform.pageframe1.page2.text2.value)
indexa=a
use 用户浏览表
do form 视图查看表单
对象 command4 过程 click
release thisform
对象 form1 过程 init
#define CRLF CHR(13)+CHR(10)
#DEFINE TAB CHR(9)
#DEFINE bartype -4099
set safety off
creat table tg (genl g)
set safety on
append blank
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -