个人信息管理系统-数据库课程设计 第3页
第四章 系统实现
第三章中介绍了系统的主体框架,在本章中,将对各个模块实现进行详细的阐述,同时给出相应的SQL。
4.1数据库实现
创建数据库KCSJ
Create database kcsj
创建关系表:
contact
CREATE TABLE [dbo].[contact](
[NO] [int] IDENTITY(1,1) NOT NULL,
[UID] [nvarchar](50) NOT NULL,
[Cname] [nvarchar](50) NOT NULL,
[Ccon] [nvarchar](50) NOT NULL,
[Ccity] [nvarchar](50) NULL,
[Cmemo] [nvarchar](max) NULL,)
usertable
CREATE TABLE [dbo].[usertable](
[UID] [nvarchar](50) NOT NULL,
[PWD] [nvarchar](50) NOT NULL)
moneymng
CREATE TABLE [dbo].[moneymng](
[NO] [int] IDENTITY(1,1) NOT NULL,
[UID] [nvarchar](50) NOT NULL,
[Mitem] [nvarchar](50) NOT NULL,
[Mmoney] [numeric](18, 2) NOT NULL,
[Mtime] [datetime] NOT NULL,
[Mtype] [nvarchar](10) NOT NULL)
memo
CREATE TABLE [dbo].[memo](
[NO] [int] IDENTITY(1,1) NOT NULL,
[UID] [nvarchar](50) NOT NULL,
[Mtime] [datetime] NOT NULL,
[Mplace] [nvarchar](50) NULL,
[Mobject] [nvarchar](max) NOT NULL)
diary
CREATE TABLE [dbo].[diary](
[NO] [int] IDENTITY(1,1) NOT NULL,
[UID] [nvarchar](50) NOT NULL,
[Dtime] [datetime] NOT NULL,
[Dobject] [nvarchar](max) NOT NULL,
[Dweather] [nvarchar](50) NOT NULL)
4.2各模块的实现
登录模块
SELECT Count(*)
FROM usertable
WHERE UID = @varUID AND PWD = @varPWD
根据用户提供的用户名@varUID和密码@varPWD,从Usertable表中查询是否存在该用户,如果存在则读取对应的信息。为了防止SQL注入问题,在程序Usertable表中的密码不存储明文,而是由应用程序将密码使用MD5加密后提交至数据库进行比对。
用户注册模块
首先检测输入的用户名是否已经被注册
SELECT COUNT(*) FROM usertable WHERE UID=@varRID
若未被注册,则将注册信息提交至数据库。
INSERT INTO usertable (UID, PWD)
VALUES(@varUID, @varPWD)
通讯录模块
用户登录后将自动显示自己所有的记录
SELECT NO, Cname, Ccon, Ccity, Cmemo
FROM contact
WHERE UID = @varUID
添加新的联系人
INSERT INTO contact(UID, cname, ccon, ccity, cmemo)
VALUES(@varUID, @varCname, @varCcon, @varCcity, @varCmemo)
日记模块
用户登录后将自动显示自己所有的记录
SELECT NO,Dtime, Dobject, Dweather FROM dbo.diary
WHERE UID=@varUID
添加新的日记
INSERT INTO diary(UID, Dobject, Dtime, Dweather)
VALUES(@varUID,@varDobject,@varDtime,@varDweather)
财务管理模块
用户登录后将自动显示自己所有的记录
SELECT NO, Mitem, Mmoney, Mtime, Mtype FROM dbo.moneymng
WHERE UID=@varUID
添加新的财务记录
INSERT INTO moneymng(UID, mitem, mtime, mtype, mmoney)
VALUES(@varUID, @varmitem, @varmtime, @varmtype, @varmmoney)
财务计算
1)计算总支出
SELECT SUM(MMoney) FROM moneymng
WHERE Mtype='支出' AND UID=@varUID
2)计算总收入
SELECT SUM(MMoney) FROM moneymng
WHERE Mtype='收入' AND UID=@varUID
备忘录模块
用户登录后将自动显示自己所有的记录
SELECT NO, Mtime, Mplace, Mobject FROM dbo.memo
WHERE UID=@varUID.
添加新的备忘记录
INSERT INTO memo(UID, Mobject, Mtime, Mplace)
VALUES(@varUID, @varMobject, @varMtime, @varMplace)