Web实验三访问数据库160348冯晓红资料Word格式.docx
- 文档编号:15915367
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:13
- 大小:170.48KB
Web实验三访问数据库160348冯晓红资料Word格式.docx
《Web实验三访问数据库160348冯晓红资料Word格式.docx》由会员分享,可在线阅读,更多相关《Web实验三访问数据库160348冯晓红资料Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
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,Dictionary<
string,object>
parameters)
{
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,Dictionary<
//if(con.State==System.Data.ConnectionState.Closed)适配器会根据具体需要打开和关闭数据库
//{
//con.Open();
//}
cmd.CommandType=System.Data.CommandType.Text;
SqlDataAdapterda=newSqlDataAdapter();
//创建一个适配器,它¹
会根据具体需要打开和关闭数据库
da.SelectCommand=cmd;
DataTabledt=newDataTable();
da.Fill(dt);
returndt;
publicstaticDataTableGetDataTable(stringsql)
returnGetDataTable(sql,null);
4)获取首行首列的值:
publicstaticobjectExecuteScalar(stringsql,Dictionary<
using(SqlConnectioncon=newSqlConnection())
objectr=cmd.ExecuteScalar();
//返回查询结果表中首行首列的值returnr;
}
2、网页核心代码:
1)留言按钮核心代码:
protectedvoidbtnSave_Click(objectsender,EventArgse)
if(txtMsg.Text==string.Empty||txtName.Text==string.Empty)
Response.Write("
<
scriptlanguage='
javascript'
>
alert('
姓名或内容不能为空'
);
/script>
"
else
stringsqlStr="
InsertintoGuestBookInfovalues(@name,@details,@time,@back)"
;
System.Collections.Generic.Dictionary<
parameters=newDictionary<
();
parameters.Add("
@name"
txtName.Text);
@details"
txtMsg.Text);
@time"
DateTime.Now);
@back"
1);
boolresult=SMMS.Common.DBHelp.SqlHelp.ExecuteNonQuery(sqlStr,parameters);
if(result==true)
留言成功'
btnReset_Click(null,null);
以下部分完整代码:
2)绑定数据核心代码:
privatevoidBind()
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
script>
数º
y据Y库a连¢
?
接¨
®
失º
¡
ì
败ã
¨
¹
,ê
请?
检¨
¬
查¨
¦
服¤
t务?
器¡
Â
!
ê
'
)<
3)升序降序核心代码:
protectedvoidgdvMsgs_Sorting(objectsender,GridViewSortEventArgse)
//之前在PageLoad的时候已经设置了:
ViewState["
]="
ViewState["
ASC"
stringsortExpresion=e.SortExpression;
//排序依据
if(ViewState["
].ToString()==sortExpresion)
if(ViewStat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 实验 访问 数据库 160348 冯晓红 资料