基于web的新闻发布系统—免费毕业设计论文内容摘要:
用户是否已经登录: public bool Login() { strSQl=” Select personID from person where name= ” +”’+AndPassword=39。 + (,1) +39。 Try {ExecuteSql4Value(strSQL)。 return true。 } catch {return false。 } } 5. 2注册界面设计 在本系统中管理员用户的个人登陆信息保存在 配置文件中,他和其他个人用户一样登陆。 整个系统注册部分的如图 6所示。 本系统的注册比较简单,是为了减少繁冗的信息登记,方便用户登录。 注 册成功后才在属于自己的页面登记详细信息。 注册表单提交后,服务器就会对提交的内容进行验证,如果填写错误的项要给出出错提示信息,并允许重新填写提交。 这里需要用到 requiredfieldvalidator 控件,所有的输入框都需要这个验证控件,它用来验证输入都不能为空, parevalidator 验证控件用来验证用来验证两次输入的密码是否相同。 RequiredFieldValidator 控件用来验证输入的邮箱是否合法 . 图 6 注册页面 该页面代码调用的是 person类的 add()方法,当个人用户注册时候 就调用它。 它先检查新注册用户名是否已经存在,如果存在抛出“ This name was registered” 异常,否则在表 getJonInfo中插入新的表项,以便该用户登录后可以在线填写和提交简历。 代码如下: public void Add() { if(IsExist()) {throw new Exception(This name was registered!)。 } else{ strSQL = Insert into person (Name,Password,Email) Values(+ 39。 + + 39。 ,+ 39。 + (,1) + 39。 , + 39。 + + 39。 )。 //密码加密后再插入数据库。 try{ExecuteSql(strSQL)。 } catch{throw new Exception(Register FAILED!)。 } strSQL = Select Max(personID) From person。 int personId。 try {personId = ExecuteSql4Value(strSQL)。 } catch{throw new Exception(Register FAILED!)。 } strSQL = Insert into getJobInfo (personID) Values(+39。 + () +39。 )。 try {ExecuteSql(strSQL)。 } catch{throw new Exception(Register FAILED!)。 } } 函数 IsExist()被前面的 Add()函数调用,用来检查 person 表中是否已经存在一个用户名,如果存在则返回 true,否则返回 : public bool IsExist() { strSQL = Select personID from person Where Name=。 Try {ExecuteSql4Value(strSQL)。 return true。 } Catch {return false。 } } 5. 3 主界面设计 所有 的用户公用一个主界面,即 ,管理员用户也不例外,只是在该界面中,对不同的用户提供了不同的链接。 提供给管理员的链接有撰写新闻、管理新闻、管理个人用户和管理企业用户。 其界面如图 7: 图 7 管理员主界面 frame,分别是页面首部的 口。 页面首部的 文件描述了一些所有用户都公用的功能,如浏览新闻、浏览招聘信息、浏览应聘信息等。 也就是说, Top上对于链接对于所用用户都是可见的。 表 7给出了顶部菜单中的各 个超链接所对应的文件。 表 7 顶部菜单对应的超链接文件 超链接名称 链接文件 代码邦定文件 首页 求职 招聘 新闻 服务 退出 下面的主界面 Frame,左边 Frame 对应的文件是。 它对应每一种特定的用户提供不同的选项,如前所述,对于管理员用户它提供了撰写新闻、新闻管理、个人用户管理和企业用户管理选项,对于个人用户它提供了填写个人信息、填写个人简历选项;对于企业用户,它提供了填写企业信息,发布招聘信息,以及查看招聘结果等选项。 右部的窗口是主窗口,用于显示和编写各种信息,左部菜单中各个超链接对应的文件如表 8所示。 表 8 左部菜单对应的超链接文件 用户类型 超链接名称 链接文件 代码邦定文件 管理员 撰写新闻 新闻管理 个人用户管理 企业用户管理 x s 企业用户 企业基本信息 px .cs 企业收藏夹 个人用户 个人基本信息 px .cs 根据不同的用户类型,可以显示不同的超链接的部分。 区分一个用户是管理员还是普通用户的方法是判断他的用户名是否在前面提到的 aaa字符串中, person类中的函数 IsSupervisor()完成了这个功能,它先从配置 文件的 aaa字符串中取出指定的管理员的用户名集合,然后将其保存在字符串数组 names中,如果给定的用户名等于其中的一个字符 串,说明这个用户是管理员用户,代码如下: Public bool IsSupervisor() {string strManager = [aaa]。 string [] names = (39。 ,39。 )。 int i。 for(i=0。 i。 i++) {if(Name == names[i]) {return true。 }} return false。 } 5. 4 撰写新闻界面设计 在系统管理员的主界面左侧,单击“撰写新闻”按钮,右面的显示窗口则进入撰写新闻界面,管理员填写完新闻内容后按下“提交”后,将执行注册函数btn_Replay_Click(),该函数将用户输入的内容存储到数据库中, 撰写新闻界面如下 图 8: 图 8 撰写新闻界面 代码如下: ArrayList CommAry=new ArrayList()。 string ext=。 string name=。 if((!=null)amp。 amp。 (!=) { string nam =。 int i= (.)。 //取得文件名路径里最后一个 .的索引 ext =(i)。 //取得文件扩展名 //这里自动根据日期和文件大小不同为文件命名,确保文件名不重复。 DateTime now =。 name=()+。 //保存文件到所要的目录 ,这里是 IIS根目录下的 upfiles目录 . //()取当前文件的绝对目录 \必须用 \\代替 ((upload)+\\+ext+name)。 } 存储新闻时候,需要调用 News类的 AddNews函数,而 Addnews()函数利用一个名为 addNews的存储过程向数据库的 news表插入一条新闻。 利用下面的代码来存储新加入的新闻,新闻的信息暂时存储在 ArrayListtempary中,先从中取出各个值,然后调用存储过程将其存储到数据库中。 public void AddNews(ArrayList tempary) {SqlConnection myCn=new SqlConnection(strConn)。 SqlCommand myCm=new SqlCommand(AddNews,myCn)。 //调用 updatePBaseInfo的存储 过程 ,下面省略了一些代码 // =。 (new SqlParameter(@publicDate,))。 [@publicDate].Value =tempary[0]。 try {()。 ()。 } catch( er) {throw new Exception()。 } finally{()。 ()。 } } 5. 5 新闻管理界面设计 新闻管理是管理员手动删除过期或点击率比较小的新闻。 在系统管理员的主界面左侧,单击“管理新闻”按钮,右面的显示窗口则进入管理新闻界面,它的界面如图 9 图 9 新闻管理界面 生成新闻列表用刀了 DataGrid控件,从数据库查询得到的全部新闻信息邦定到该空间上并以列表的形式输出,代 码如下: private void Bind() { DataSet ds = ()。 = 共有新闻个数 : + [0].。 = [0].DefaultView。 ()。 } 上面调用的 News类的静态成员方法 GetNews()用于返回所用的新闻信息,代码如下: public static DataSet GetNews() { strSQL = SELECT * FROM news。 Try {return ExecuteSql4Ds(strSQL)。 } catch{throw new Exception(Get all the news Information failed!)。 }} 管理员想删除新闻,先将复选框选中,可以多选(全部选择可以点击“全选”图标),再点击“删除”按钮图标,由于这两个按钮位于列表框底部,是该列表框的一部分。 全选中新闻代码如下: private void btnCheckAll_Click() { CheckBox cb = new CheckBox()。 int i,j =。 for(i=0。 ij。 i++) {cb=(CheckBox)[i].Cells[0].FindControl(“ CheckBox” ) = true。 } } 删除选中的新闻代码如下: private void btnDelete_Click() { CheckBox cb = new CheckBox()。 StringBuilder sb = new StringBuilder()。 int i,j =。 for(i=0。 ij。 i++)//用一个循环来逐个检查显示的每个新闻项 {cb= (CheckBox)[i].Cells[0].FindControl(CheckBox)。 if() {([i].Cells[2].())。 (39。 ,39。 )。 //如果该新闻前的复选框被选中记录他的 id } } string strNames = ()。 try { (strNames)。 //调用 News 类中的 DeleteGroup()函数删除选中的新闻 =” 删除成功 ”。 //输出成功提示信息 ()。 //删除成功后刷新页面 catch{ = Delete failed!。 //输出错误提示信息 } } 如果管理员在决定删除某条新闻前查看该新闻信息,直接点击该新闻的标题,则可直接链接到该新闻的详细内容。 5. 6 个人用户管理界面设计 个人用户管理该模块与企业用户管理模块与前面的新闻管理基本相同,是管理员删除注册的用户。 操作的时候删除表中的某一行时候需要注意,个人用户管理模块中表中的 personID列是 getJobInfo表的一个外键,需要先在 getJObInfo 表中删除所有相关的行,再删除在 person 表中的对应行。 具体代码如下: public static void DeleteGroup(ArrayList group) { int j=*2。 string[] strSQL=new string[j]。 int k=0。 for(int i=0。 i j。 i++) { k=i/2; strSQL[i]=delete from GetJobInfo wherepersonID=group[k]。 i++。 strSQL[i]=delete from person where personID=39。 +group[k] } ExecuteSqls( str。基于web的新闻发布系统—免费毕业设计论文
相关推荐
每空一分) 1.鲁迅原名 ( ),浙江绍兴人,生于 ( )年于 ( )逝世,他是中国现代文学的奠基人,毛泽东赞赏鲁迅 “不但是伟大的文学家,而且是伟大的 ( )和伟大的 ( )”。 2.鲁迅的第三个融稍酵励楚撮春彻颓谦揣垒摈肆撬券徽奎褂乘销鞘藏靛捂鸡绍吩浮纳唯杰窥谜蝇暗辑及蔓扑宵邱墩倪撅畏边虽塞搏醋演泰托迹卜力伸梦妙另乏鹃忿 41. 1927 年至 1937 年是中国现代文学的第 ( )个十年
电路的设计 单片机 P2 口低 4 位输出的行选信号经 74LS244 八 位数据 缓冲器 将数据缓冲后送往 3/8 译码器 74LS138 译码的输入端,生成 8 条行选通信号线,再经过 SN7406 六 路高 电 压输出反相器 将信号取反后使 IRF540 导通再去驱动对应的行 LED 显示。 其硬件电路如图 所示: A1B2C3G 2 A4G 2
需要睡一下 我知道该睡了 你猜怎么着 ? 有人要发行我的论文 真的吗 ?让我看看… 瑞秋,你看 我那强壮的罗斯天行者何时会来拯救我 ? 他来了 幸运的 ! 轮盘 ! 这个家伙好笨 是 “罗斯莫尔 ”公爵啦 你真的该去参加这个节目 Phoebe: ( in a soothing voice) Relax every muscle in your body. Listen to the
信号输入 tkeep1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 计数值个位 tkeep2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 计数值十位 tkeep3:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 计数值百位 END ENTITY frequency。 ARCHITECTURE one OF frequency
照,选择油口端面。 在界面下端的菜单栏中分别选择“标准孔”: ISO、“螺钉尺寸”:M18x“单侧”: 20,再选择锥孔按钮。 单击“形状”,打开“形状”上滑面板。 按照作图要求的 尺寸进行各项设置。 ( 5)、将生成的油口以 RIGHT 基准面为对称平面进行镜像,得到另外一个油口,如图 32 所示。 图 32 一、齿轮轴的设计步骤 齿轮轴轮辐 ( 1)、创建新文件。