Web实验三访问数据库160348冯晓红资料.docx

上传人:b****4 文档编号:3004388 上传时间:2022-11-17 格式:DOCX 页数:13 大小:170.48KB
下载 相关 举报
Web实验三访问数据库160348冯晓红资料.docx_第1页
第1页 / 共13页
Web实验三访问数据库160348冯晓红资料.docx_第2页
第2页 / 共13页
Web实验三访问数据库160348冯晓红资料.docx_第3页
第3页 / 共13页
Web实验三访问数据库160348冯晓红资料.docx_第4页
第4页 / 共13页
Web实验三访问数据库160348冯晓红资料.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Web实验三访问数据库160348冯晓红资料.docx

《Web实验三访问数据库160348冯晓红资料.docx》由会员分享,可在线阅读,更多相关《Web实验三访问数据库160348冯晓红资料.docx(13页珍藏版)》请在冰豆网上搜索。

Web实验三访问数据库160348冯晓红资料.docx

Web实验三访问数据库160348冯晓红资料

贵州大学实验报告

学院:

计算机科学与技术专业:

软件工程班级:

软件123

姓名

冯晓红

学号

1208060348

实验组

实验时间

2014-04-21

指导教师

王晓鹏

成绩

实验项目名称

实验3访问数据库

实验目的

1、熟练掌握ADO.NET的操作对象。

2、熟练运用数据访问技术对数据库进行操作。

实验要求

1、源程序清单。

2、程序运行结果。

3、调试过程中遇到的问题和解决的方法。

实验原理

ADO.NET数据库访问、程序设计

实验环境

Vs2010

实验步骤

1、在Sql2008中建立GuestBook数据库,并建立GuestBookInfo表格。

2、利用设计留言界面和查看留言界面

实验内容

(此处主要为功能的演示,具体后台代码见实验数据部分。

1、数据库建立:

1、留言部分:

1)界面布局:

2)留言功能:

 

2、查看留言部分:

1)界面布局

2)核心功能:

①数据绑定到GirdView并显示:

②数据的升序降序:

(可按编号、姓名、时间升降序,此处演示按编号降序)

③留言内容过长时以“…..”省略:

④查看留言功能:

点击某一行的查看连接,则可查看改行留言具体内容

实验数据

项目完整代码:

1、数据库访问:

(SqlHelper类)

此部分完整代码:

主要是使用了以前在其他课程设计的时候封装的SqlHelper类,这里列出几个用到的方法的核心代码:

1)在web.config文件里面添加连接字符串,然后在SqlHelper里面读取:

privatestaticstringconnectionString=ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;

privatestaticstringdbName=ConfigurationManager.AppSettings["myDBName"];

2)基本的增、删、改功能:

publicstaticboolExecuteNonQuery(stringsql,Dictionaryparameters)

{

SqlConnectioncon=newSqlConnection();

try

{

con.ConnectionString=connectionString;

if(con.State==System.Data.ConnectionState.Closed)

{

con.Open();

}

SqlCommandcmd=newSqlCommand();

cmd.Connection=con;

cmd.CommandText=sql;

if(parameters!

=null)

{

foreach(variteminparameters)

{

cmd.Parameters.AddWithValue(item.Key,item.Value);

}

}

//cmd.ExecuteNonQuery();

//返回受影响的行数

returncmd.ExecuteNonQuery()>0;

//returncmd.ExecuteNonQuery()>0;

}

catch(Exception)

{

throw;

}

finally

{

if(con.State==System.Data.ConnectionState.Open)

{

con.Close();

}

}

}

publicstaticboolExecuteNonQuery(stringsql)

{

returnExecuteNonQuery(sql,null);

}

3)得到DateTable的方法:

publicstaticDataTableGetDataTable(stringsql,Dictionaryparameters)

{

SqlConnectioncon=newSqlConnection();

try

{

con.ConnectionString=connectionString;

//if(con.State==System.Data.ConnectionState.Closed)适配器会根据具体需要打开和关闭数据库

//{

//con.Open();

//}

SqlCommandcmd=newSqlCommand();

cmd.Connection=con;

cmd.CommandText=sql;

cmd.CommandType=System.Data.CommandType.Text;

if(parameters!

=null)

{

foreach(variteminparameters)

{

cmd.Parameters.AddWithValue(item.Key,item.Value);

}

}

SqlDataAdapterda=newSqlDataAdapter();//创建一个适配器,它¹会根据具体需要打开和关闭数据库

da.SelectCommand=cmd;

DataTabledt=newDataTable();

da.Fill(dt);

returndt;

}

catch(Exception)

{

throw;

}

}

publicstaticDataTableGetDataTable(stringsql)

{

returnGetDataTable(sql,null);

}

4)获取首行首列的值:

publicstaticobjectExecuteScalar(stringsql,Dictionaryparameters)

{

using(SqlConnectioncon=newSqlConnection())

{

con.ConnectionString=connectionString;

if(con.State==System.Data.ConnectionState.Closed)

{

con.Open();

}

SqlCommandcmd=newSqlCommand();

cmd.Connection=con;

cmd.CommandText=sql;

if(parameters!

=null)

{

foreach(variteminparameters)

{

cmd.Parameters.AddWithValue(item.Key,item.Value);

}

}

objectr=cmd.ExecuteScalar();//返回查询结果表中首行首列的值returnr;

}

2、网页核心代码:

此部分完整代码:

1)留言按钮核心代码:

protectedvoidbtnSave_Click(objectsender,EventArgse)

{

if(txtMsg.Text==string.Empty||txtName.Text==string.Empty)

{

Response.Write("alert('姓名或内容不能为空');");

}

else

{

stringsqlStr="InsertintoGuestBookInfovalues(@name,@details,@time,@back)";

System.Collections.Generic.Dictionaryparameters=newDictionary();

parameters.Add("@name",txtName.Text);

parameters.Add("@details",txtMsg.Text);

parameters.Add("@time",DateTime.Now);

parameters.Add("@back",1);

boolresult=SMMS.Common.DBHelp.SqlHelp.ExecuteNonQuery(sqlStr,parameters);

if(result==true)

{

Response.Write("alert('留言成功');");

btnReset_Click(null,null);

}

}

以下部分完整代码:

2)绑定数据核心代码:

privatevoidBind()

{

try

{

stringsqlStr="Select*fromGuestBookInfo";

System.Data.DataTabledt=SMMS.Common.DBHelp.SqlHelp.GetDataTable(sqlStr);

System.Data.DataViewdataView=dt.DefaultView;

stringsortStr=(string)ViewState["SortOrder"]+""+(string)ViewState["OrderDire"];//SortOrderbyanexpression

dataView.Sort=sortStr;

gdvMsgs.DataSource=dt;

gdvMsgs.DataKeyNames=newstring[]{"ID"};//主键

gdvMsgs.DataBind();

ShortMsg();

}

catch

{

Response.Write("");

}

}

3)升序降序核心代码:

protectedvoidgdvMsgs_Sorting(objectsender,GridViewSortEventArgse)

{

//之前在PageLoad的时候已经设置了:

ViewState["SortOrder"]="ID";ViewState["OrderDire"]="ASC";

stringsortExpresion=e.SortExpression;//排序依据

if(ViewState["SortOrder"].ToString()==sortExpresion)

{

if(ViewStat

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

当前位置:首页 > 农林牧渔 > 林学

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

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