Internet应用开发实验报告Word文档下载推荐.docx
《Internet应用开发实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Internet应用开发实验报告Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
3、创建一个简单的数据库,其中包含至少一张5个字段以上的表;
4、分别采用三种数据库操作方式,进行对网站进行开发;
5、用户体验的设计实现;
三、前期准备
a)、ASP.NET网站创建
打开visualstudio2010,新建项目中选择其他项目,选择visualstudio2010空白解决方案,在方案下新建ASP.NETWeb应用程序,如下:
b)、数据库设计
1、新闻信息表的设计:
2、用户信息表的设计:
3、数据库代码实现:
usemaster
go
/*-------------建库--------------*/
ifexists(select*fromsysdatabaseswherename='
testDB'
)
dropdatabasetestDB
--创建数据库testDB
createdatabasetestDB
/*--------------------------建表----------------------------*/
usetestDB
--判断表是否存在
ifexists(select*fromsysobjectswherename='
UserInfo'
droptableUserInfo
--用户信息表
createtableuserInfo
(
userIDintidentity(1,1)primarykey,
Namevarchar(20)notnull,
Ageintnotnull,
Sexchar
(1),--0男,女
Emailvarchar(20),
Pwdvarchar(10),
news'
droptablenews
--新闻表
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)
密码错误'
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"
"
<
script>
alert('
登陆失败!
/script>
if(!
IsPostBack)
BindDataNews();
protectedvoidBindDataNews()
select*fromnews"
SqlDataAdapteradapter=newSqlDataAdapter(sql,conn);
DataSetds=newDataSet();
adapter.Fill(ds);
conn.Close();
DataTabledt=newDataTable();
dt.Columns.Add("
nID"
typeof(int));
nTitle"
typeof(string));
nContent"
nTime"
typeof(DateTime));
foreach(DataRowRtestinds.Tables[0].Rows)
DataRowdr=dt.NewRow();
dr["
]=Rtest["
].ToString();
].ToString().Substring(0,3)+"
..."
].ToString()+"
dt.Rows.Add(dr);
GridView1.DataSource=dt;
GridView1.DataBind();
protectedvoidbtnEdit_Click(objectsender,EventArgse)
Buttonedit=senderasButton;
]=int.Parse(edit.CommandArgument.ToString());
stringsql=string.Format("
selectnTitle,nContent,nTimefromnewswherenID={0}"
Session["
].ToString());
DataTabledt=ds.Tables[0];
EditTitle.Text=dt.Rows[0]["
EditContent.Text=dt.Rows[0]["
protectedvoidbtnDel_Click(objectsender,EventArgse)
Buttondelete=senderasButton;
intid=int.Parse(delete.CommandArgument.ToString());
deletefromnewswherenID={0}"
id);
intj;
j=comm.ExecuteNonQuery();
if(j>
0)
删除成功!
删除失败!
protectedvoidbtnAdd_Click(objectsender,EventArgse)
stringtitle=txtTitle.Text.Trim();
stringcontent=txtContent.Text.Trim();
insertintonewsvalues('
{0}'
'
{1}'
{2}'
)"
title,content,DateTime.Now);
if(j>
添加成功!
b)、第二步——数据操作封装
publicDBHelper()
publicstaticboolIfExist(stringsql)
returnflag;
publicstaticintExecuteSql(stringsql)
inti;
i=comm.ExecuteNonQuery();
returni;
publicstaticDataSetGetDataSet(stringquerySql)
SqlDataAdapteradapter=newSqlDataAdapter(querySql,conn);
returnds;
}
protectedvoidbtnLogin_Click(objectsender,EventArgse)
select*fromUserInfowhereuName='
if(DBHelper.IfExist(sql))
protectedvoidPage_Load(objectsender,EventArgse)
DataSetds=DBHelper.GetDataSet(sql);
if(Rtest["
].ToString().Length>
25)
].ToString().Substring(0,24)+"
DataTabledt=DBHelper.GetDataSet(sql).Tables[0];
if(DBHelper.ExecuteSql(sql)>
c)、第三步——三层架构设计及实现
如图建立三层架构:
DAL层,对数据库的操作:
publicclassNews
publicDataTableGetAllNews()
returnSQLHelper.Helper.Exec(sql);
publicDataTableQuery(stringsql)
publicboolDelete(intid)
returnSQLHelper.Helper.ExecNonQuery(sql)>
0?
true:
false;
publicboolInsert(stringsql)
SQLHelper数据库帮助类:
///<
summary>
///执行SQL语句,返回影响的记录数
/summary>
paramname="
SQLString"
>
SQL语句<
/param>
returns>
影响的记录数<