Internet应用开发实验报告.docx

上传人:b****4 文档编号:3739440 上传时间:2022-11-25 格式:DOCX 页数:23 大小:124.97KB
下载 相关 举报
Internet应用开发实验报告.docx_第1页
第1页 / 共23页
Internet应用开发实验报告.docx_第2页
第2页 / 共23页
Internet应用开发实验报告.docx_第3页
第3页 / 共23页
Internet应用开发实验报告.docx_第4页
第4页 / 共23页
Internet应用开发实验报告.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

Internet应用开发实验报告.docx

《Internet应用开发实验报告.docx》由会员分享,可在线阅读,更多相关《Internet应用开发实验报告.docx(23页珍藏版)》请在冰豆网上搜索。

Internet应用开发实验报告.docx

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语句,返回影响的记录数

///

///SQL语句

///影响的记录数<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1