Internet应用开发实验报告.docx
- 文档编号:3739440
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:23
- 大小:124.97KB
Internet应用开发实验报告.docx
《Internet应用开发实验报告.docx》由会员分享,可在线阅读,更多相关《Internet应用开发实验报告.docx(23页珍藏版)》请在冰豆网上搜索。
Internet应用开发实验报告
《Internet应用开发》
实验报告
学号:
XXX
姓名:
XXX
指导老师:
XXX
目录
一、报告题目-2-
二、实验目标-2-
三、前期准备-2-
a)、ASP.NET网站创建-2-
b)、数据库设计-3-
c)、Web界面设计-4-
四、三步曲-6-
a)、第一步——ADO.NET之基本数据操作-6-
b)、第二步——数据操作封装-9-
c)、第三步——三层架构设计及实现-13-
一、报告题目
ASP.NET数据操作三步曲——新闻发布系统的设计开发
二、实验目标
1、创建ASP.NET网站开发环境;
2、设计一个具有基本样式的Web界面;
3、创建一个简单的数据库,其中包含至少一张5个字段以上的表;
4、分别采用三种数据库操作方式,进行对网站进行开发;
5、用户体验的设计实现;
三、前期准备
a)、ASP.NET网站创建
打开visualstudio2010,新建项目中选择其他项目,选择visualstudio2010空白解决方案,在方案下新建ASP.NETWeb应用程序,如下:
b)、数据库设计
1、新闻信息表的设计:
2、用户信息表的设计:
3、数据库代码实现:
usemaster
go
/*-------------建库--------------*/
ifexists(select*fromsysdatabaseswherename='testDB')
dropdatabasetestDB
go
--创建数据库testDB
createdatabasetestDB
/*--------------------------建表----------------------------*/
usetestDB
go
--判断表是否存在
ifexists(select*fromsysobjectswherename='UserInfo')
droptableUserInfo
go
--用户信息表
createtableuserInfo
(
userIDintidentity(1,1)primarykey,
Namevarchar(20)notnull,
Ageintnotnull,
Sexchar
(1),--0男,女
Emailvarchar(20),
Pwdvarchar(10),
)
go
--判断表是否存在
ifexists(select*fromsysobjectswherename='news')
droptablenews
go
--新闻表
createtablenews
(
nIDintidentity(1,1)primarykey,
nTitlevarchar(50)notnull,
nContenttextnotnull,
nTimedatetime,
)
/**********************************************存储过程*****************************************************/
------------------------------用户登陆
createprocproc_login
@namechar(19),
@pwdchar(6)
as
ifnotexists(select*fromUserInfowhereName=@name)
begin
raiserror('用户不存在',16,1)
return
end
ifnotexists(select*fromUserInfowhereName=@nameandPwd=@pwd)
begin
raiserror('密码错误',16,1)
return
end
c)、Web界面设计
1、登陆界面设计:
2、主界面设计:
3、点击编辑按钮,进行新闻编辑:
4、输入新闻内容,点击添加新闻:
5、点击删除按钮,删除新闻内容:
四、三步曲
a)、第一步——ADO.NET之基本数据操作
privatestaticstringstrConn="DataSource=.;InitialCatalog=testDB;IntegratedSecurity=true";
protectedvoidPage_Load(objectsender,EventArgse)
{
}
publicstaticSqlConnectionGetConn()
{
returnnewSqlConnection(strConn);
}
protectedvoidbtnLogin_Click(objectsender,EventArgse)
{
stringname1=txtName.Text.Trim();
stringpwd1=txtPwd.Text.Trim();
stringsql="select*fromUserInfowhereName='"+name1+"'andPwd='"+pwd1+"'";
boolflag;
SqlConnectionconn=GetConn();
conn.Open();
SqlCommandcomm=newSqlCommand(sql,conn);
SqlDataReaderdr=comm.ExecuteReader();
flag=dr.Read();
if(flag)
{
Session["userName"]=name1;
Response.Redirect("WebSite/Default.aspx");
}
else
ClientScript.RegisterClientScriptBlock(this.GetType(),"msfg","");
}
privatestaticstringstrConn="DataSource=.;InitialCatalog=testDB;IntegratedSecurity=true";
publicstaticSqlConnectionGetConn()
{
returnnewSqlConnection(strConn);
}
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
BindDataNews();
}
}
protectedvoidBindDataNews()
{
stringsql="select*fromnews";
SqlConnectionconn=GetConn();
conn.Open();
SqlDataAdapteradapter=newSqlDataAdapter(sql,conn);
DataSetds=newDataSet();
adapter.Fill(ds);
conn.Close();
DataTabledt=newDataTable();
dt.Columns.Add("nID",typeof(int));
dt.Columns.Add("nTitle",typeof(string));
dt.Columns.Add("nContent",typeof(string));
dt.Columns.Add("nTime",typeof(DateTime));
foreach(DataRowRtestinds.Tables[0].Rows)
{
DataRowdr=dt.NewRow();
dr["nID"]=Rtest["nID"].ToString();
dr["nTitle"]=Rtest["nTitle"].ToString().Substring(0,3)+"...";
dr["nContent"]=Rtest["nContent"].ToString()+"";
dr["nTime"]=Rtest["nTime"].ToString();
dt.Rows.Add(dr);
}
GridView1.DataSource=dt;
GridView1.DataBind();
}
protectedvoidbtnEdit_Click(objectsender,EventArgse)
{
Buttonedit=senderasButton;
Session["nID"]=int.Parse(edit.CommandArgument.ToString());
stringsql=string.Format("selectnTitle,nContent,nTimefromnewswherenID={0}",Session["nID"].ToString());
SqlConnectionconn=GetConn();
conn.Open();
SqlDataAdapteradapter=newSqlDataAdapter(sql,conn);
DataSetds=newDataSet();
adapter.Fill(ds);
conn.Close();
DataTabledt=ds.Tables[0];
EditTitle.Text=dt.Rows[0]["nTitle"].ToString();
EditContent.Text=dt.Rows[0]["nContent"].ToString();
}
protectedvoidbtnDel_Click(objectsender,EventArgse)
{
Buttondelete=senderasButton;
intid=int.Parse(delete.CommandArgument.ToString());
stringsql=string.Format("deletefromnewswherenID={0}",id);
intj;
SqlConnectionconn=GetConn();
conn.Open();
SqlCommandcomm=newSqlCommand(sql,conn);
j=comm.ExecuteNonQuery();
conn.Close();
if(j>0)
{
ClientScript.RegisterClientScriptBlock(this.GetType(),"msfg","");
BindDataNews();
}
else
{
ClientScript.RegisterClientScriptBlock(this.GetType(),"msfg","");
}
}
protectedvoidbtnAdd_Click(objectsender,EventArgse)
{
stringtitle=txtTitle.Text.Trim();
stringcontent=txtContent.Text.Trim();
stringsql=string.Format("insertintonewsvalues('{0}','{1}','{2}')",title,content,DateTime.Now);
intj;
SqlConnectionconn=GetConn();
conn.Open();
SqlCommandcomm=newSqlCommand(sql,conn);
j=comm.ExecuteNonQuery();
conn.Close();
if(j>0)
{
ClientScript.RegisterClientScriptBlock(this.GetType(),"msfg","");
BindDataNews();
}
}
b)、第二步——数据操作封装
privatestaticstringstrConn="DataSource=.;InitialCatalog=testDB;IntegratedSecurity=true";
publicDBHelper()
{
}
publicstaticSqlConnectionGetConn()
{
returnnewSqlConnection(strConn);
}
publicstaticboolIfExist(stringsql)
{
boolflag;
SqlConnectionconn=GetConn();
conn.Open();
SqlCommandcomm=newSqlCommand(sql,conn);
SqlDataReaderdr=comm.ExecuteReader();
flag=dr.Read();
returnflag;
}
publicstaticintExecuteSql(stringsql)
{
inti;
SqlConnectionconn=GetConn();
conn.Open();
SqlCommandcomm=newSqlCommand(sql,conn);
i=comm.ExecuteNonQuery();
conn.Close();
returni;
}
publicstaticDataSetGetDataSet(stringquerySql)
{
SqlConnectionconn=GetConn();
conn.Open();
SqlDataAdapteradapter=newSqlDataAdapter(querySql,conn);
DataSetds=newDataSet();
adapter.Fill(ds);
conn.Close();
returnds;
}
protectedvoidbtnLogin_Click(objectsender,EventArgse)
{
stringname1=txtName.Text.Trim();
stringpwd1=txtPwd.Text.Trim();
stringsql="select*fromUserInfowhereuName='"+name1+"'andPwd='"+pwd1+"'";
if(DBHelper.IfExist(sql))
{
Session["userName"]=name1;
Response.Redirect("WebSite/Default.aspx");
}
else
ClientScript.RegisterClientScriptBlock(this.GetType(),"msfg","");
}
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
BindDataNews();
}
}
protectedvoidBindDataNews()
{
stringsql="select*fromnews";
DataSetds=DBHelper.GetDataSet(sql);
DataTabledt=newDataTable();
dt.Columns.Add("nID",typeof(int));
dt.Columns.Add("nTitle",typeof(string));
dt.Columns.Add("nContent",typeof(string));
dt.Columns.Add("nTime",typeof(DateTime));
foreach(DataRowRtestinds.Tables[0].Rows)
{
DataRowdr=dt.NewRow();
dr["nID"]=Rtest["nID"].ToString();
dr["nTitle"]=Rtest["nTitle"].ToString().Substring(0,3)+"...";
if(Rtest["nContent"].ToString().Length>25)
{
dr["nContent"]=Rtest["nContent"].ToString().Substring(0,24)+"...";
}
else
{
dr["nContent"]=Rtest["nContent"].ToString()+"";
}
dr["nTime"]=Rtest["nTime"].ToString();
dt.Rows.Add(dr);
}
GridView1.DataSource=dt;
GridView1.DataBind();
}
protectedvoidbtnEdit_Click(objectsender,EventArgse)
{
Buttonedit=senderasButton;
stringsql=string.Format("selectnTitle,nContent,nTimefromnewswherenID={0}",Session["nID"].ToString());
DataTabledt=DBHelper.GetDataSet(sql).Tables[0];
EditTitle.Text=dt.Rows[0]["nTitle"].ToString();
EditContent.Text=dt.Rows[0]["nContent"].ToString();
}
protectedvoidbtnDel_Click(objectsender,EventArgse)
{
Buttondelete=senderasButton;
intid=int.Parse(delete.CommandArgument.ToString());
stringsql=string.Format("deletefromnewswherenID={0}",id);
if(DBHelper.ExecuteSql(sql)>0)
{
ClientScript.RegisterClientScriptBlock(this.GetType(),"msfg","");
BindDataNews();
}
else
{
ClientScript.RegisterClientScriptBlock(this.GetType(),"msfg","");
}
}
protectedvoidbtnAdd_Click(objectsender,EventArgse)
{
stringtitle=txtTitle.Text.Trim();
stringcontent=txtContent.Text.Trim();
stringsql=string.Format("insertintonewsvalues('{0}','{1}','{2}')",title,content,DateTime.Now);
if(DBHelper.ExecuteSql(sql)>0)
{
ClientScript.RegisterClientScriptBlock(this.GetType(),"msfg","");
BindDataNews();
}
}
c)、第三步——三层架构设计及实现
如图建立三层架构:
DAL层,对数据库的操作:
publicclassNews
{
publicDataTableGetAllNews()
{
stringsql="select*fromnews";
returnSQLHelper.Helper.Exec(sql);
}
publicDataTableQuery(stringsql)
{
returnSQLHelper.Helper.Exec(sql);
}
publicboolDelete(intid)
{
stringsql=string.Format("deletefromnewswherenID={0}",id);
returnSQLHelper.Helper.ExecNonQuery(sql)>0?
true:
false;
}
publicboolInsert(stringsql)
{
returnSQLHelper.Helper.ExecNonQuery(sql)>0?
true:
false;
}
}
SQLHelper数据库帮助类:
///
///执行SQL语句,返回影响的记录数
///
///
///
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Internet 应用 开发 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)