课程设计报告信息发布广场.docx
《课程设计报告信息发布广场.docx》由会员分享,可在线阅读,更多相关《课程设计报告信息发布广场.docx(17页珍藏版)》请在冰豆网上搜索。
课程设计报告信息发布广场
计算机网络应用实习报告
班级
姓名
学号
实习日期
二零零九年六月十一日
一、课程实习目的和要求
1、课程实习目的
(1)培养学生理论联系实际的设计思想,训练综合运用所学的基础理论知识,结合生产实际分析和解决网络应用中问题的能力,从而使基础理论知识得到巩固和加深。
(2)学习掌握网络应用系统的一般设计过程和方法。
(3)熟悉并掌握运用网络应用中的B/S模式。
2、课程实习要求
(1)合理设计系统框图和网站结构图。
(2)根据系统框图设计,编写网页及程序代码。
(3)编写系统使用说明书。
二、课程实习环境
1)开发环境:
MicrosoftVisualStudio2008+SQLSERVER2005
2)程序运行环境:
windowsxp或者windows2003
iis5.1以上.netframework2.0
三、系统框图
四、系统实现
1.网站首页
主要显示本站的发布的各类信息,为各类用户浏览信息提供一个简单的入口。
2.注册页
只提供普通用户的注册功能:
3.普通用户查看信息页:
在这里普通用户可以查看各类信息和信息发布人的资料
4.用户个人及个人发布信息管理
可实现对个人信息及个人发布的信息进行添加、删除、修改
5.发布信息
6.管理员登录界面
7.管理员对用户及用户发布信息的管理:
五、数据库设计
1.用户信息表:
(T_user)
2.管理员信息表:
(b_user)
3.图书信息表:
(b_infobook)
4.求助信息表:
(b_infohelp)
5服务信息:
(b_infoteach)
6.加电信息表:
(b_infoelc)
六、系统源码
1.数据库访问:
(SqlDatabase.cs)
使用统一数据库连接语句放在config文件中,如下:
使用Gridview和listview来进行数据库连接访问和操作
SqlDataSourceID="SqlDataSource1"runat="server"
ConnectionString="<%$ConnectionStrings:
infoConnectionString%>"
SelectCommand="SELECT*FROM[b_infobook]">
SqlDataSource>
类似的在SelectCommand中直接添加数据库操作语句。
2.普通用户登陆部分
protectedvoidBT_logo_Click(objectsender,EventArgse)
{
stringid=TextBox1.Text.Trim();
stringcode=TextBox2.Text.Trim();
if(id.Length==0||code.Length==0)
{
Response.Write("");
}
else
{
stringsqlstring="selectcount(*)from[b_user]whereuser_name='"+id+"'anduser_password='"+code+"'";
objectresult=db.runsql(sqlstring);
if(result.ToString()!
="0")
{
TextBox1.Text=id;
TextBox2.Text="********";
Label1.Visible=false;
TextBox2.Visible=false;
TextBox1.Enabled=false;
stringfindid="selectuser_idfrom[b_user]whereuser_name='"+id+"'";
objectrealid=db.runsql(findid);
Session["userid"]=realid;
Response.Write("");
}
else
{
Response.Write("");
return;
}
3.注册部分
数据验证部分,主要是用户合法性验证使用数据库查询语言进行操作,如下:
stringid=TextBoxName.Text.Trim();
stringusercode=TextBoxPassWord.Text.Trim();
stringusername=TextBoxRealName.Text.Trim();
stringemail=TextBoxEmail.Text.Trim();
stringtel=TextBoxPhone.Text.Trim();
System.DateTimecurrentTime=newSystem.DateTime();
currentTime=System.DateTime.Now;
stringdatetime=currentTime.ToShortTimeString();
stringsqlstring="insertinto[b_user]values('"+id+"','"+username+"','"+usercode+"','"+datetime+"','"+email+"','"+tel+"')";
try
{
db.runnosql(sqlstring);//执行SQL命令;
Response.Write("");
Response.Redirect("index.aspx");
}
catch(Exceptionex)
{
Response.Write("");
return;
}
4.数据显示
使用listView进行数据的显示
ListViewID="ListView1"runat="server"DataKeyNames="book_id"
DataSourceID="SqlDataSource1"InsertItemPosition="LastItem">
#FFF8DC;">
ButtonID="DeleteButton"runat="server"CommandName="Delete"Text="删除"/> ButtonID="EditButton"runat="server"CommandName="Edit"Text="编辑"/>
ButtonID="InsertButton"runat="server"CommandName="Insert"Text="插入"/> ButtonID="CancelButton"runat="server"CommandName="Cancel"Text="清除"/>
|
#008A8C;font-weight: bold;color: #FFFFFF;"> ButtonID="DeleteButton"runat="server"CommandName="Delete"Text="删除"/>
#008A8C;color: #FFFFFF;"> ButtonID="UpdateButton"runat="server"CommandName="Update"Text="更新"/> ButtonID="CancelButton"runat="server"CommandName="Cancel"Text="取消"/>
|
TextBoxID="user_idTextBox"runat="server"Text='<%#Bind("user_id")%>'/>
|
| TextBoxID="user_datepbTextBox"runat="server" Text='<%#Bind("user_datepb")%>'/>
|
TextBoxID="user_pbmsgTextBox"runat="server" Text='<%#Bind("user_pbmsg")%>'/>
|
| LabelID="book_idLabel1"runat="server"Text='<%#Eval("book_id")%>'/>
|
\
ListView>
5.管理员操作:
身份验证:
SqlConnectionsqlcon=newSqlConnection(conn);
sqlcon.Open();
stringcheck_admin="select*from[T_user]whereusername='"+TextBoxName.Text+"'andusercode='"+TextBoxPassWord.Text+"'";
SqlCommandcom=newSqlCommand(check_admin,sqlcon);
if(com.ExecuteScalar()==null)
Response.Write("");
else
Response.Redirect("guanliuser.aspx");
管理使用listview进行
6.发布信息部分
以下是部分代码
publicpartialclassfabuxinxi:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
TextBox1.Text=Session["userid"].ToString();
TextBox2.Text=DateTime.Now.ToString();
TextBox1.Enabled=false;
TextBox2.Enabled=false;
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringsqlconn=ConfigurationManager.ConnectionStrings["infoConnectionString"].ConnectionString;
SqlConnectionconn=newSqlConnection(sqlconn);
stringuserid=TextBox1.Text.Trim();
stringdate=TextBox2.Text.Trim();
stringbiaoti=TextBox3.Text.Trim();
if(DropDownList1.SelectedValue=="0")
{
stringcmdtext="insertintob_infobook(user_id,user_datepb,user_pbmsg)values('"+userid+"','"+date+"','"+biaoti+"')";
conn.Open();
SqlCommandcmd=newSqlCommand(cmdtext,conn);
cmd.ExecuteNonQuery();
Label1.Text="插入成功";
TextBox1.Text=string.Empty;
TextBox2.Text=string.Empty;
TextBox3.Text=string.Empty;
conn.Close();
}
if(DropDownList1.SelectedValue=="1")
{
stringcmdtext="insertintob_infoelc(user_id,user_datepb,user_pbmsg)values('"+userid+"','"+date+"','"+biaoti+"')";
conn.Open();
SqlCommandcmd=newSqlCommand(cmdtext,conn);
cmd.ExecuteNonQuery();
Label1.Text="插入成功";
TextBox1.Text=string.Empty;
TextBox2.Text=string.Empty;
TextBox3.Text=string.Empty;
conn.Close();
}
if(DropDownList1.SelectedValue=="2")
{
stringcmdtext="insertintob_infohelp(user_id,user_datepb,user_pbmsg)values('"+userid+"','"+date+"','"+biaoti+"')";
conn.Open();
SqlCommandcmd=newSqlCommand(cmdtext,conn);
cmd.ExecuteNonQuery();
Label1.Text="插入成功";
TextBox1.Text=string.Empty;
TextBox2.Text=string.Empty;
TextBox3.Text=string.Empty;
conn.Close();
}
if(DropDownList1.SelectedValue=="3")
{
stringcmdtext="insertintob_infoteach(user_id,user_datepb,user_pbmsg)values('"+userid+"','"+date+"','"+biaoti+"')";
conn.Open();
SqlCommandcmd=newSqlCommand(cmdtext,conn);
cmd.ExecuteNonQuery();
Label1.Text="插入成功";
TextBox1.Text=string.Empty;
TextBox2.Text=string.Empty;
TextBox3.Text=string.Empty;
conn.Close();
}
TextBox1.Text=Session["userid"].ToString();
TextBox2.Text=DateTime.Now.ToString();
}
}
七、总结
我选的课题是“信息发布广场”,在做的过程中出现了很多的问题,最难的就是权限的设置,不同的用户看到的内容不同。
还有对资料的删除、添加、修改的设置。
这些也是最麻烦的事情。
这是我查了很多资料终于解决了。
通过自己一步一步做到最后完成感觉非常的兴奋。
对网页面板中,我用了css样式来控制,在对用户内容的添加、修改、删除中我用了listview来操作的,在浏览信息中用了gridview和detailsview来操作。
数据的显示也主要是用这几个控件加上自己设计的视图,是的界面表现的更加美观。
使用了3级管理权限。
最高级的是系统管理员可以插删改任何的数据(数据库中的数据,要服从数据库的依赖关系),第二级的是用户管理员,即用户可以插删改自己的所有信息,第三级是普通浏览用户,他们只有读取的权限。
一开始很郁闷,网络课程设计怎么是做网站,后来把整个网站做下来感觉收获挺大的。
做这个课程设计之前基本上没有接触过网站的制作,包括简单的html都没怎么用过,数据库对我来说都是生疏的。
从老师给我帮助文档我就从msdn上开始学习网页制作,按照上面的用例一个一个做,总算熟悉了下的环境。
给我的感觉是做起来也不是那么的难,前提后台代码都很简单而且功能很强,在加上自己做其他项目的经验学起来还是很快的,不过困难也是有的。
遇到的最大的困难主要是在网页的布局和基本理论的掌握不足。
很多东西都是现学现用,所以做的东西没有可推敲性。
因为是初学所以网页中大部分东西都是采用控件进行处理,主要使用了连接数据库的一些控件,如gridview,listview,detailsview等控件。
在做的过程中,体验了控件功能的强大和灵活性,当然这些灵活性事要付出代价的,那就是配置到自己想要的效果还是有一定得难度的。
其中在数据库连接的时候listview老是数据不显示,最后检查作物发现时linqdatesource设置不正确。
也许某个参数设置不对就导致意想不到的结果。
总的说来在调试中学习了很多的东西,真不愧”失败是成功之母”。
通过这次的课程设计,我学到了很多的知识,同时也感觉到自己知识的匮乏。
特别是在网站设计这些方面,一点都不了解。
通过这几天的学习和实践学习到了很多的网站制作方面的知识,也学会了这么利用身边的资源来快速的学习,掌握了一些学习的方法,以及跟同学和老师交流的方式。
总之这次课程设计收获很大,在这里非常感谢指导老师和同学们的耐心帮助。