通讯录课程设计报告(2)

2018-12-17 16:32

)

name='通讯录管理系统',

filename='d:\\数据库\\通讯录管理系统.ldf', size=20mb, maxsize=100mb, filegrowth=20%

4.2.2. 数据库表创建代码

4.2.2.1. 用户表

create table 用户 (

用户名 char(20) primary key, 密码 char(40) not null, )

4.2.2.2. 联系人表

create table 联系人 (

编号 char(10) primary key, 姓名 char(10),

性别 char(4) not null,

电话号码 char(10) not null, E_mail char(50), 地址 char(30),

分组类型 char(10), )

4.2.2.3. 分组表

create table 同学分组 (

同学编号 char(10)primary key FOREIGN KEY(同学编号)REFERENCES 联系人(编号),

姓名 char(10), ) go

create table 朋友分组 (

朋友编号 char(10)primary key FOREIGN KEY(朋友编号)REFERENCES 联系人(编号),

姓名 char(10), ) go

create table 同事分组 (

同事编号 char(10)primary key FOREIGN KEY(同事编号)REFERENCES 联系人(编号),

姓名 char(10), )

4.2.2.4. 视图创建代码

go

create view 朋友 as

select 朋友分组.朋友编号,朋友分组.姓名,电话号码,性别,E_mail,分组类型

from 朋友分组,联系人

where 朋友分组.朋友编号=联系人.编号 go

create view 同学 as

select 同学分组.同学编号,同学分组.姓名,电话号码,性别,E_mail,分组类型

from 联系人,同学分组

where 同学分组.同学编号=联系人.编号 go

create view 所有联系人 as

select 联系人.姓名,联系人.电话号码,联系人.性别,联系人.E_mail,分组类型

from 联系人 go

4.2.2.5. 存储过程代码创建

create procedure _朋友 as

select 朋友分组.朋友编号,朋友分组.姓名,电话号码,性别,E_mail,分组类型

from 联系人,朋友分组

where 朋友分组.朋友编号=联系人.编号 go

create procedure _同学 as

select 同学分组.同学编号,同学分组.姓名,电话号码,性别,E_mail,分组类型

from 联系人,同学分组

where 同学分组.同学编号=联系人.编号 go

create procedure _所有联系人

as

select * from 联系人 4.3.

程序设计 4.3.1.

主程序的设计

程序在运行期间要使用部分的变量来传递数据,所有这些变量都要在程序中定义。

在Visual FoxPro6.0中新建一个项目文件,以“个人通讯录管理系统”的名称保存。打开该项目的管理器,在管理器的“代码”选项卡中添加一个名为“MAIN”的代码文件,并在“MAIN”代码文件窗口中添加代码如下: SET TALK OFF &&关闭对话

SET ESCAPE OFF &&关闭ESCAPE键 SET EXACT ON &&打开完全匹配 SET EXCLUSIVE ON &&打开独占

SET CONSOLE ON &&将输出结果到发送到主窗口或当前窗口 SET DATE TO LONG &&设置长日期 SET SCORE OFF &&关闭分值栏 SET SAFETY OFF &&关闭安全提示

SET STATUS BAR OFF &&关闭系统提示栏 SET CENTURY ON &&打开世纪开关 SET DELETED ON &&屏闭删除项

SET SYSMENU OFF &&关闭系统菜单 SET NOTIFY OFF &&关闭提示 &&设置系统窗口属性

_SCREEN.MaxButton = .F. &&取消最大化按钮 _SCREEN.MaxWidth = 800 &&设置最大宽度 _SCREEN.MaxHeight = 600 &&设置最大高度

_SCREEN.Caption = \个人通讯录管理系统\设置窗口标题 _SCREEN.Picture = '6.jpg'&&设置窗口背景图片

_SCREEN.AutoCenter = .T. &&指定表单初次显示时,自动位于主窗口中央 public UserName, UserType &&定义全局变量 Do xtcd.mpr&&打开菜单 Do Form frmLogin.scx READ EVENTS Procedure On Quit

CLEAR EVENTS CLOSE ALL QUIT Endprocedure

4.3.2.

登录界面的设计

4.3.2.1. 用户登录模块

登录界面的作用是为了验证用户的合法性,只有合法的用户才能进入系统,并且要求使用者提供密码。设计完成的登录界面如图4.1所示。

图4.3.1 登录设计界面

在该界面中显示当前的操作时间,该时间为本系统从操作系统中取出的时间,而且不允许操作者进行修改,所以在表单执行时会自动显示该时间,并设置成只读状态。此外,该登录界面还设置了一些美化操作。采用动态效果,让“欢迎使用通讯录系统”动起来。密码错误将不许用户进入系统。上述功能的代码设计如下:

对象 cmdOK 过程:Click

IF ALLTRIM(thisform.txtUserName.Value) == ''

MessageBox(\请输入用户名\RETURN ENDIF

IF ALLTRIM(thisform.txtUserPwd.Value) == ''

MessageBox(\请输入密码\RETURN ENDIF

SELECT 用户表 &&查找指定用户名为的记录

Locate For Allt(用户名)=Allt(thisform.txtUserName.Value) If Found() == .T. &&如果找到

If Allt(密码) == Allt(thisform.txtUserPwd.Value) &&比较密码,成功则进入

MessageBox(\欢迎光临\提示信息\UserName = 用户名 UserType = 用户类型 release thisform

Else &&比较密码不成功

MessageBox(\密码不正确\错误提示\Endif

Else &&没有找到指定用户

MessageBox(\用户名不存在\错误提示\Endif

对象:Timer1 过程:Timer local i,j,k

i=int(rand()*255) j=int(rand()*255) k=int(rand()*255)

thisform.label3.forecolor=RGB(i,j,k) if thisform.label3.left+180>0

thisform.label3.left=thisform.label3.left-10 else

thisform.label3.left=360 Endif

4.3.2.2. 用户注册模块

设计完成的注册界面如图4.2所示。

图4.3.2 登录设计界面

对象:command(确定),过程:click

public mima1,mima2

mima1=trim(thisform.text2.value) mima2=trim(thisform.text3.value) if mima1==mima2

USE 用户表 APPEND BLANK

REPLACE 用户名 WITH ALLTRIM(THISFORM.TEXT1.VALUE) REPLACE 密码 WITH ALLTRIM(THISFORM.TEXT2.VALUE) messagebox('恭喜您,注册成功~') else

y=messagebox('两次输入的密码不一致~',16+0+0,'警告~')

if y=1

thisform.text2.value=\thisform.text3.value=\endif endif


通讯录课程设计报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于BS架构-的一卡通的设计与实现--课程设计说明书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: