已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
党员之家党建通讯站新闻存档系统设计 课程名称: 数据库原理上机 学 院: 信息与电气工程学院 专业班级: 信息1201班 姓 名: 马栋捷 学 号: 31202162 时 间: 2014年6月 新闻存档系统设计一、系统概述党员之家党建通讯站新闻存档系统是基于党员之家大量新闻稿的存档问题而特别设计的一款软件,该软件通过mysql软件搭建存档新闻的底层数据库,通过Microsoft Visual Studio 2008软件并使用C#语言搭建了用户界面,使新闻存档变得更加清晰。通过该系统,可以有效的实现以下三方面功能:1、该系统搭建了清晰的管理平台,高效的完成对大量新闻的存档工作。2、在该系统中,将存档以及对通讯员、拍摄员、编辑员、责任编辑的考核工作集成为一体,可以在存档的同时完成考核工作,高效且方便。3、一人一帐号,通讯员可以通过进入系统查看自己新闻提交的新闻稿状态以及考核情况,编辑可以通过评分对新闻稿质量进行反馈。二、系统功能、结构设计1、党员之家党建通讯站新闻存档系统功能图2、党员之家党建通讯站新闻存档系统ER图三、系统底层数据库设计1、关系模型通讯员(通讯员id,通讯员姓名,所属部门,班级,QQ号码,短号,长号),即info_corr(corrId,corrName,corrDepar,corrClass,corrQq, corrShortphone, corrLongphone)责任编辑(责任编辑ID,责任编辑姓名,职位),即info_admin(adminId,adminName,adminPost)新闻稿(新闻稿编号,新闻标题,新闻发生时间),即info_news(newsNumber,newsName,newsHappen)写(通讯员ID,新闻稿编号,编辑员姓名,任务类型,上交时间),即inter_write(corrId,newsNumber,writeSubname, writeType, writeSubtime)分数(新闻稿编号, 责任编辑ID, 字数得分,用词得分,构架得分,主旨得分,病句得分,格式得分,上交得分,照片构图得分,照片清晰度得分,事件反映度得分,人物表情得分 ),即inter_score(newsNumber, adminId, scoreWordnum, scoreWordcorrect, scoreNewsstru, scoreGist, scoreSentence, scoreForm, scoreSubtime, scorePhotostu, scoreDefin, scoreReflect, scoreFace)密码(用户名,密码,身份),即Usert(username, pad,sta)用户名编辑表(用户名,责任编辑ID)inter_usad(username,adminID) 用户名通讯员表(用户名,通讯员ID)inter_usco(username,corrID) 2、数据库创建及约束、索引的设置DROP DATABASE if exists NewsManage;CREATE DATABASE NewsManage default charset utf8 COLLATE utf8_general_ci;USE NewsManage;#-#表名: info_corr#作者:马栋捷#日期:2014/3/17 V1.3#描述:通讯员名单#具体内容:#1(主键) (检查约束)(非空)corrId: char(8) 通讯员ID#2(非空)corrName: varchar(20) 通讯员姓名#3(索引)(非空)corrDepar: varchar(20) 所属部门#4corrClass: char(20) 班级#5corrQq: varchar(15) QQ号码#6corrShortphone: char(12) 短号#7corrLongphone: char(12) 长号#-CREATE TABLE info_corr(corrId char(8),corrName varchar(20) not null,corrDepar varchar(20) not null,corrClass char(20),corrQq varchar(15),corrShortphone char(6),corrLongphone char(11),CONSTRAINT pk_info_corr PRIMARYKEY(corrId),CONSTRAINT ck_corrId CHECK (corrId like 0-90-90-90-90-90-90-90-9);CREATE INDEX idx_corrDepar ON info_corr (corrDepar);#-#表名:info_admin#作者:马栋捷#日期:2014/3/17 V1.3#描述:责任编辑名单#具体内容:#1(主键) (检查约束)(非空)adminId: char(8) 责任编辑ID#2(非空)adminName: varchar(20) 责任编辑姓名#3(索引)(非空)adminPost: varchar(20) 职位#-CREATE TABLE info_admin(adminId char(8),adminName varchar(20) not null,adminPost varchar(20) not null,CONSTRAINT pk_info_admin PRIMARY KEY (adminId),CONSTRAINT ck_adminId CHECK (adminId like 0-90-90-90-90-90-90-90-9);CREATE INDEX idx_adminPost ON info_admin (adminPost);#-#表名:info_news#作者:马栋捷#日期:2014/3/21 V1.3#描述:新闻稿统计#具体内容:#1(主键) (检查约束)(非空)newsNumber: char(8) 新闻稿编号#2(唯一约束)(非空)newsName: varchar(50) 新闻稿标题#3(索引)(非空)newsHappen: date 新闻发生时间#-CREATE TABLE info_news(newsNumber char(8),newsName varchar(50) not null,newsHappen date not null,CONSTRAINT pk_info_news PRIMARY KEY (newsNumber),CONSTRAINT un_info_newsName UNIQUE (newsName),CONSTRAINT ck_newsNumber CHECK (newsNumber like 0-90-90-90-90-90-90-90-9);CREATE INDEX idx_newsHappen ON info_news (newsHappen);#-#表名:inter_write#作者:马栋捷#日期:2014/3/21 V1.3#描述:写#具体内容:#1(外键)(非空)corrId: char(8) 通讯员ID#2(外键)(非空)newsNumber: char(8) 新闻稿编号#3(索引)(非空)writeSubname: varchar(20) 编辑员姓名#4(默认约束)(非空)writeType: char(20) 任务类型#5(索引)(非空)writeSubtime: date 上交时间#-CREATE TABLE inter_write(corrId char(8) not null,newsNumber char(8) not null,writeSubname varchar(20) not null,writeType char(20) not null DEFAULT 文字,writeSubtime date not null,CONSTRAINT fk_write_corrId FOREIGN KEY (corrId) REFERENCES info_corr(corrId),CONSTRAINT fk_write_newsNumber FOREIGN KEY (newsNumber) REFERENCES info_news(newsNumber);CREATE INDEX idx_writeSubname ON inter_write (writeSubname);CREATE INDEX idx_writeSubtime ON inter_write (writeSubtime);#-#表名:inter_score#作者:马栋捷#日期:2014/3/21 V1.3#描述:分数#具体内容:#1(外键)(非空)newsNumberchar(8)新闻稿编号#2(外键)(非空)adminIdchar(8)责任编辑ID#3scoreWordnumdecimal(4,1)字数得分#4scoreWordcorrectdecimal(4,1)用词得分#5socreNewsstrudecimal(4,1)构架得分#6scoreGistdecimal(4,1)主旨得分#7scoreSentencedecimal(4,1)病句得分#8scoreFormdecimal(4,1)格式得分#9scoreSubtimedecimal(4,1)上交得分#10scorePhotostudecimal(4,1)照片构图得分#11scoreDefindecimal(4,1)照片清晰度得分#12scoreReflectdecimal(4,1)事件反映度得分#13scoreFacedecimal(4,1)人物表情得分#-CREATE TABLE inter_score(newsNumber char(8) not null,adminId char(8) not null,writeType char(20) not null DEFAULT 文字,scoreWordnum decimal(4,1),scoreWordcorrect decimal(4,1),scoreNewsstru decimal(4,1),scoreGist decimal(4,1),scoreSentence decimal(4,1),scoreForm decimal(4,1),scoreSubtime decimal(4,1),scorePhotostu decimal(4,1),scoreDefin decimal(4,1),scoreReflect decimal(4,1),scoreFace decimal(4,1),CONSTRAINT fk_score_newsNumber FOREIGN KEY (newsNumber) REFERENCES info_news(newsNumber),CONSTRAINT fk_score_adminId FOREIGN KEY (adminId) REFERENCES info_admin(adminId);#-#表名:usert#作者:马栋捷#日期:2014/3/21 V1.3#描述:用户密码表#具体内容:#1(非空)username: char(10) 用户名#2(非空)pad: char(10) 密码#3(非空)sta:char(10)身份#-CREATE TABLE usert(username char(10) not null,psd char(10) not null,sta char(10) not null);#-#表名:inter_usad#作者:马栋捷#日期:2014/3/21 V1.3#描述:用户名、编辑对应关系#具体内容:#1(非空)username: char(10) 用户名#2adminId :char(8) 责任编辑ID#-CREATE TABLE inter_usad(username char(10) not null,adminId char(8);#-#表名:inter_usco#作者:马栋捷#日期:2014/3/21 V1.3#描述:用户名、通讯员对应关系#具体内容:#1(非空)username:char(10)用户名#2corrId:char(8)通讯员ID#-CREATE TABLE inter_usco(username char(10) not null,corrId char(8);四、数据库记录的插入USE newsmanage;#INSERT INTO info_corr VALUE (31302036,lly,秘书处,电科,01234567,011234;INSERT INTO info_corr VALUE (31302037,xzx,秘书处,通信,02234567,021234;INSERT INTO info_corr VALUE (31302038,xjj,宣拓部,电信,03234567,031234;INSERT INTO info_admin VALUE (31302039,wyt,副站长);INSERT INTO info_admin VALUE (31302040,wxl,副站长);INSERT INTO info_admin VALUE (31202162,mdj,站长);INSERT INTO info_news VALUE (001,副书记会议,2014-3-10);INSERT INTO info_news VALUE (002,管委会例会,2014-3-21);INSERT INTO info_news VALUE (003,在杭高校交流,2014-4-1);INSERT INTO info_news VALUE (004,在杭,2014-4-5);#INSERT INTO inter_write VALUE (31302036,001,TSY,write,2014-3-15);#INSERT INTO inter_write VALUE (31302036,002,TSY,write,2014-3-24);INSERT INTO inter_write VALUE (31302037,003,YCY,write,2014-4-3);INSERT INTO inter_write VALUE (31302038,003,LYZ,photo,2014-4-3);INSERT INTO inter_write value (31302036,004,mmm,write,2014/2/3);INSERT INTO inter_score VALUE (001,31302039,write,100,100,90,80,100,100,100,0,0,0,0);INSERT INTO inter_score VALUE (002,31302040,write,100,90,90,80,100,90,100,0,0,0,0);INSERT INTO inter_score VALUE (003,31302039,write,90,90,80,100,100,100,100,0,0,0,0);INSERT INTO inter_score VALUE (003,31202162,photo,0,0,0,0,0,0,0,100,100,90,90);INSERT INTO inter_score VALUE (004,31202162,photo,0,0,0,0,0,0,0,100,100,90,90);INSERT INTO usert VALUE (jerry,1234,corr);INSERT INTO usert VALUE (xd,clc,corr);INSERT INTO inter_usad VALUE (jerry,31302036);INSERT INTO inter_usco VALUE (xd,31202162)五、软件功能设计1、注册界面 (管理员注册界面) (通讯员注册界面)(1)注册关键代码:(以通讯员注册为例) string Standardm = 0; /初始化一个变量 Standardm = this.corrzhuce_num.Text.Trim();/文本框内容赋值给变量 Regex digitregex = new Regex(0-9*$);/初始化正则表达式 0-9d*.?d*$ if (digitregex.IsMatch(Standardm) = false) /判断文本框内容是否符合正则表达式 MessageBox.Show(学号必须为数字, 错误); this.corrzhuce_num.Clear(); this.corrzhuce_num.Focus(); else if (corrzhuce_num.Text.Trim().Length != 8) /判断学号长度是否为8位且忽略空格 MessageBox.Show(学号位数需要八位, 错误); /若不是8位,则弹出对话框 this.corrzhuce_num.Clear(); this.corrzhuce_num.Focus(); else if (corrzhuce_yhm.Text.Trim().Length 10) MessageBox.Show(用户名最大长度为10!, 错误); this.corrzhuce_yhm.Focus(); else if (corrzhuce_psd.Text.Trim() != corrzhuce_psdr.Text.Trim()/若是8位,则执行原有功能,判断两次密码是否相同,当不同时: MessageBox.Show(两次输入的密码不同!, 错误); this.corrzhuce_psd.Clear(); this.corrzhuce_psdr.Clear(); this.corrzhuce_psd.Focus(); else/执行正常程序 MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(localhost, newsmanage, root, 5536309).AsString); conn.Open(); int i, j; string sql_1 = null; string sql_name = null; string sql_num = null; string sql_depar = null; string sql_class = null; string sql_qq = null; string sql_short = null; string sql_long = null; sql_num = corrzhuce_num.Text.Trim(); sql_name = corrzhuce_name.Text.Trim(); sql_depar = corrzhuce_depar.Text.Trim(); sql_class = corrzhuce_class.Text.Trim(); sql_qq = corrzhuce_qq.Text.Trim(); sql_short = corrzhuce_short.Text.Trim(); sql_long = corrzhuce_long.Text.Trim(); string chaxun_num = select * from info_corr where corrId= + sql_num; /查询学号是否被注册过 MySQLCommand cmd_cx_num = new MySQLCommand(chaxun_num, conn); DbDataReader dr = cmd_cx_num.ExecuteReader(); if (!dr.Read() /若未被注册过 sql_1 = INSERT INTO info_corr VALUE ( + sql_num + , + sql_name + , + sql_depar + , + sql_class + , + sql_qq + , + sql_short + , + sql_long + ); MySQLCommand cmd_1 = new MySQLCommand(sql_1, conn); string sql_yhm; string sql_psd; string sql_2; sql_yhm = corrzhuce_yhm.Text.Trim(); sql_psd = corrzhuce_psd.Text.Trim(); string chaxun_yhm = select * from Usert where username= + sql_yhm + ; MySQLCommand cmd_cx_yhm = new MySQLCommand(chaxun_yhm, conn); DbDataReader dr2 = cmd_cx_yhm.ExecuteReader(); /查询用户名是否被使用过 if (!dr2.Read() sql_2 = INSERT INTO usert VALUE ( + sql_yhm + , + sql_psd + ,corr); MySQLCommand cmd_2 = new MySQLCommand(sql_2, conn); j = cmd_2.ExecuteNonQuery(); /执行插入语句 i = cmd_1.ExecuteNonQuery(); /执行插入语句 if (i != -1 & j != -1) /判断插入语句是否成功 MessageBox.Show(注册成功,党建通讯站欢迎您的加入!, 成功); string sql_usad = INSERT INTO inter_usco VALUE ( + sql_yhm + , + sql_num + ); MySQLCommand cmd_3 = new MySQLCommand(sql_usad, conn); cmd_3.ExecuteNonQuery(); this.Hide(); else MessageBox.Show(注册失败,请与管理员联系!, 失败); else MessageBox.Show(用户名已被使用, 失败); this.corrzhuce_yhm.Clear(); this.corrzhuce_yhm.Focus(); else MessageBox.Show(该学号已经注册过,若有疑问请联系管理员, 失败); this.corrzhuce_num.Clear(); this.corrzhuce_num.Focus(); (2)在注册界面内,还有查询用户名是否重复功能,关键代码如下:MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(localhost, newsmanage, root, 5536309).AsString); conn.Open(); string sql_yhm; string sql_psd; sql_yhm = corrzhuce_yhm.Text.Trim(); sql_psd = corrzhuce_psd.Text.Trim(); string chaxun_yhm = select * from Usert where username= + sql_yhm + ; MySQLCommand cmd_cx_yhm = new MySQLCommand(chaxun_yhm, conn); DbDataReader dr2 = cmd_cx_yhm.ExecuteReader(); /查询用户名是否被使用过 if (!dr2.Read() tishi_corryhm.Text = ; else tishi_corryhm.Text = 已重复!; this.corrzhuce_yhm.Focus(); (3)此外,还具有判断两次输入密码是否相同的功能,关键代码如下:if (corrzhuce_psd.Text.Trim() != corrzhuce_psdr.Text.Trim() tishi_corr.Text = 两次输入的密码不同!; this.corrzhuce_psd.Clear(); this.corrzhuce_psdr.Clear(); this.corrzhuce_psd.Focus(); else tishi_corr.Text = ; 2、登陆界面(1)登陆界面根据用户名和选择的身份,共同判断进入通讯员界面还是编辑员界面,同时将用户名传递给对应的界面,以帮助进行后面的操作。登陆功能的关键代码如下: MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(localhost, newsmanage, root, 5536309).AsString); conn.Open(); string sql = null; if(radioadmin.Checked) sql = select sta from Usert where username= + TxtName.Text.Trim().Replace(, ) + and psd = + TxtPassword.Text.Trim().Replace(, ) + and sta =admin; else sql = select sta from Usert where username= + TxtName.Text.Trim().Replace(, ) + and psd = + TxtPassword.Text.Trim().Replace(, ) + and sta =corr; MySQLCommand cmd = new MySQLCommand(sql, conn); try DbDataReader dr = cmd.ExecuteReader(); if (dr.Read() string sql_sql=cmd.ExecuteScalar().ToString().Trim(); if (sql_sql = admin) adminmain adminmain_begin = new adminmain(); string cx_name = select adminName from inter_usad , info_admin where inter_usad.adminId=info_admin.adminId and inter_usad.username = + T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贷款抵押正式借款合同范本
- 定做产品专利合同(标准版)
- 学校股份协议书
- 定制开发协议合同范本
- 去哪里写离婚协议书
- 律师资金监管协议书
- 离婚协议书签订后反悔
- 如皋股权激励协议书
- 离婚协议书房产变卖
- 2025年汽车电子风扇市场调研报告
- 外包通勤车安全管理制度
- 水泵节能设备项目可行性研究报告立项申请报告范文
- 2025年B站OTT大屏营销通案
- 2025年公司法考试试题及答案
- 2024-2030全球AI驱动的智能文档处理 (IDP)行业调研及趋势分析报告
- 医用化学(第三版)课件 -第14章 醇酚醚
- 《聚乙烯聚合工艺》课件
- 《关税政策对进口影响》课件
- 《思想道德与法治》课件-第三章 继承优良传统 弘扬中国精神
- 第10课 多民族政权并立与元朝的统一【课件】-2024-2025学年中职高一上学期高教版(2023)中国历史全一册
- 大型仪器共享协议书
评论
0/150
提交评论