华北水利水电学院毕业论文 ps=Request.Form.Get(\ pur=Request.Form.Get(\
/*将用户输入的用户名、密码和权限保存在Session变量中*/ Session[\ Session[\ Session[\
SqlConnection con=DB.createConnection(); con.Open();
SqlCommand cmd=new SqlCommand(%userPwd='\ //查找用户名、密码和权限与输入一致的用户个数 int count=Convert.ToInt32(cmd.ExecuteScalar()); con.Close(); con.Dispose(); if (count>0)
{
if(pur==\
{
Response.Redirect(\如果用户存在,并且他的权限为0,则进入用户系统页面 } else {
Response.Redirect(\如果用户存在,并且他的权限为1,则进入管理员系统页面
} } else {
Response.Write(\
Response.Write(\用户名或密码错误,请重新输入!');\ Response.Write(\ //如果用户不存在,则弹出警告对话框 } }
系统对用户提交数据进行严格的数据检验,当用户输入信息出现错误时,系统会根据不同的错误类型给予相应的错误提示:
当选择用户身份登录系统,若出现验证错误,则弹出如图5-2所示对话框:
图5-2 错误提示对话框
第 27 页
华北水利水电学院毕业论文
5.2 系统主要功能模块
5.2.1 参与问卷调查模块的实现
用户在用户主界面通过选择进入参与问卷调查模块。此模块是此调查系统关键的模块之一,用户通过选择问卷名对问卷进行参与调查,点击提交按钮,系统将用户调查结果同时存入数据库的问卷选项表和调查表。
这里主要使用了Label、RadioButtonList、Button等控件实现显示问卷名、问卷内容以及提交问卷结果和显示下一题等。通过设全局变量,点击按钮改变全局变量来达到显示下一题的目的。这里还使用上面所讲的ADO.NET进行数据库链接,同时对RadioButtonList进行了数据绑定,数据源为SQL SEVER中的wenjxx表。系统效果如图5-3所示:
图5-3 用户参与调查界面
主要代码如下所示:
/*“提交,下一题”按钮的单击事件*/ private int BtnClick() { string Xno=this.xuanxiang.SelectedValue.ToString(); int Wno=Convert.ToInt32(this.Wname.SelectedValue); int t=Convert.ToInt32(Session[\取出全局变量,附值给t SqlConnection con1=DB.createConnection(); con1.Open(); SqlCommand Ycmd=new SqlCommand(%userName='\ 第 28 页
华北水利水电学院毕业论文 int Yno=Convert.ToInt32(Ycmd.ExecuteScalar());
SqlCommand Ccmd=new SqlCommand(\T#='\在数据库中查找是否此用户已参与过此问卷的调查
int count=Convert.ToInt32(Ccmd.ExecuteScalar());
con1.Close(); if(count>=1) {
Response.Write(\您已经参与过此问卷的调查,请选择其它问卷!!')\ return t; } else {
if(Xno==\ {
Response.Write(\请选择一项内容!!')\ return t; } else
{
SqlConnection con=DB.createConnection(); con.Open();
SqlCommand cmd=new SqlCommand(); cmd.Connection=con;
cmd.CommandText=\X#=\
cmd.ExecuteNonQuery(); //将用户的选择存入wenjuanxx表
SqlCommand Dcmd=new SqlCommand(\ string date=Convert.ToString(Dcmd.ExecuteScalar()); SqlCommand cmd1=new SqlCommand(); cmd1.Connection=con;
cmd1.CommandText=\
values('\ cmd1.ExecuteNonQuery(); //将用户的选择存入diaocha表
SqlCommand cmd2=new SqlCommand(\top 1 T# from wenjti where W#='\order by T# desc\ int t_max=Convert.ToInt32(cmd2.ExecuteScalar()); con.Close();
Session[\改变全局变量的值
if(t>=t_max) //当显示的题目是问卷中最后一题时,做出提示
{ Response.Write(\问卷已全部提交!!')\ else
{ BindPaperData(Wno,++t); } //否则显示问卷的下一题 return t; } }
}
第 29 页
华北水利水电学院毕业论文
5.2.2查询问卷模块的实现
此模块主要是对系统中存在的问卷进行查询,此查询只能查询对每份问卷中每个调查题目选项票数的统计结果。
用户进入此模块后对显示出来的所有问卷和题目进行选择,显示调查结果。这里使用了DataGird控件绑定问卷选项和其对应的票数,数据源是wenjuanxx表。
DataGrid 可以被绑定到如下几个不同的数据源:(1)DataTable 和DataSet 中的DataTable,也可以使用强类型DataSet中的表。(2) DataView 对DataTable 数据进行排序和过滤,而不需要实际地改变基本数据。(3)一维数组。(4)实现IlistSource 的类,允许使用数据绑定的实际接口。(5)实现Ilist借口的类,如ArrayList,ComboBox,Obj- ectCollection和ListBox,ListItem,ListView类中的集合,MenuItems, StringColle- ctions和TreeNodeCollections[14]。系统实现效果如图5-4:
5.2. 3 个人资料管理模块的实现
此模块主要是实现用户对个人资料进行修改的功能,包括修改个人密码及修改除用户名、用户密码以外的其它信息。首先用户通过统一登录窗口登录后,进入用户主界面,再选择进入个人资料管理界面。这时系统会通过用户输入原密码保证用户资料的安全性,提交正确后显示个人基本资料才能进行修改,然后输入两次新密码确保用户输入的是自己的新密码。这里使用了panel控件,当用户输入正确用户密码panel可见,才能进行修改操作。修改成功后,弹出对话框提示修改成功,并将数据保存到数据库。
第 30 页
华北水利水电学院毕业论文
对于此功能,其核心是Session变量的使用,Session变量保留用户登录时使用的用户名和密码,它的保存期是用户登录到关闭页面的这一段时间。 主要代码如下:
/*按钮的单击事件。输入用户密码后单击按钮,判断用户密码是否正确*/ private void Btn_Click(object sender, System.EventArgs e) {
string userPwd=this.userPwd.Text.Trim().ToString();
string userName=Convert.ToString(Session[\
SqlConnection con=DB.createConnection(); con.Open();
SqlCommand cmd=new SqlCommand(%userPwd='\
int count=Convert.ToInt32(cmd.ExecuteScalar()); con.Close();
if(count>0) {
this.Panel1.Visible=true;
return;//用户密码正确,Panel1可见,可以进行下步操作。 } else {
Response.Write(\
Response.Write(\用户密码错误,请重新输入!!');\
Response.Write(\
return;//用户密码错误,弹出警告对话框。 } }
5.2. 4 问卷管理模块的实现
此模块包括增加问卷、修改问卷、删除问卷、查询问卷和统计问卷五个部分。 1、增加问卷
管理员通过登录进入管理员系统首页,再通过选择,进入增加问卷页面。首先选择问卷名,问卷名被绑定在DropDownList上,数据源是SQL SERVER中的wenjuan表,函数BindWnameDate()实现问卷名的绑定。若需要增加的是整张问卷,则先输入问卷名,再选中,再选择问卷题目,问卷题目绑定在ListBox上,数据源是SQL SERVER中的wenjti表,函数BindTleirongDate(int Who)实现问卷题目的绑定。选择题目后通过Get传值进入添加问卷选项页面。同时,新增操作时,系统也将进行判断是否有重名,以保护数据一致性。代码略。
第 31 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库在线调查问卷系统的分析、设计与开发 - 图文(7)在线全文阅读。
相关推荐: