实训指导书Word文档下载推荐.docx
《实训指导书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实训指导书Word文档下载推荐.docx(33页珍藏版)》请在冰点文库上搜索。
andpassWord='
+value_passWord+"
;
//创建并打开Connection对象
SqlConnectioncon=newSqlConnection(strCon);
con.Open();
//创建SqlCommand对象。
SqlCommandcmd=con.CreateCommand();
cmd.CommandText=strqry;
//执行查询
SqlDataReaderdr=cmd.ExecuteReader();
if(dr.Read())//若找到该用户则返回其ID值
result=Convert.ToInt32(dr["
userID"
].ToString());
elseresult=0;
//若未能找到该用户则result值设为0
returnresult;
protectedvoidbtnLogin_Click(objectsender,EventArgse)
//取得用户输入的用户名和密码
stringuserName=txtUserName.Text.ToString();
stringpassWord=txtPassword.Text.ToString();
//查看数据库中是否存在该用户名且密码正确
intchkResult=CheckUser(userName,passWord);
if(0==chkResult)//若不存在此用户
Response.Write("
<
script>
alert('
用户名或密码错误!
)<
/script>
);
else//若存在此用户
Session["
]=chkResult;
Response.Redirect("
taskList.aspx"
}
(2)完成任务管理系统主界面的设计
a)模板的设计
%@MasterLanguage="
C#"
AutoEventWireup="
true"
CodeFile="
MasterPage.master.cs"
Inherits="
MasterPage"
%>
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDXHTML1.0Transitional//EN"
"
http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
htmlxmlns="
//www.w3.org/1999/xhtml"
>
headid="
Head1"
runat="
server"
<
title>
无标题页<
/title>
linkhref="
App_Themes/SkinFile/StyleSheet.css"
rel="
stylesheet"
type="
text/css"
/>
/head>
body>
formid="
form1"
tablealign="
center"
style="
width:
550px;
border:
0"
tr>
td>
asp:
LabelID="
navigator"
Text="
导航"
/asp:
Label>
/td>
/tr>
tdstyle="
border-right:
#0000001pxsolid;
border-top:
border-left:
border-bottom:
background-color:
#dcdcdc;
height:
24px;
discription"
描述"
contentplaceholderid="
ContentPlaceHolder1"
contentplaceholder>
/table>
/form>
/body>
/html>
b)GridView控件的设计
GridViewWidth="
100%"
ID="
gridViewTask"
AutoGenerateColumns="
False"
OnRowDataBound="
gridViewTask_RowDataBound"
DataKeyNames="
id"
AllowPaging="
True"
PageSize="
5"
DataSourceID="
SqlDataSource1"
OnSelectedIndexChanged="
gridViewTask_SelectedIndexChanged"
OnRowEditing="
grid_Editing"
Columns>
BoundFieldDataField="
taskName"
HeaderText="
任务名称"
createTime"
创建时间"
ReadOnly="
taskStatus"
任务状态"
CommandFieldHeaderText="
编辑"
ShowEditButton="
选择"
ShowSelectButton="
SelectText="
改变状态"
TemplateFieldHeaderText="
删除"
ShowHeader="
ItemTemplate>
LinkButtonID="
LinkButton1"
OnClientClick="
returnconfirm('
确认要删除吗?
)"
CausesValidation="
CommandName="
Delete"
LinkButton>
/ItemTemplate>
TemplateField>
/Columns>
GridView>
(3)完成任务管理系统删除功能、更改任务状态功能、编辑功能的设计(利用SqlDataSource控件)
SqlDataSourceID="
ConnectionString="
%$ConnectionStrings:
TrainningDSN%>
SelectCommand="
SELECT*FROM[Task]WHERE([userID]=@userID)ORDERBY[taskName]"
DeleteCommand="
DELETEFROMTaskWHERE(id=@id)"
UpdateCommand="
updateTasksettaskName=@taskNamewhereid=@id"
SelectParameters>
SessionParameterName="
SessionField="
userid"
Type="
Int32"
/SelectParameters>
DeleteParameters>
ParameterName="
/DeleteParameters>
UpdateParameters>
/UpdateParameters>
SqlDataSource>
(4)完成任务管理系统增加任务功能的设计
publicpartialclasstaskAdd:
stringtaskName;
intuserID;
//获得用户名和任务名称
taskName="
userID=Convert.ToInt32(Session["
if(!
Page.IsPostBack)
Label1.Visible=false;
Master.lblNavigator.Text="
任务管理>
新建任务"
Master.lblDiscrption.Text="
输入新任务名称创建任务"
protectedvoidbtnCommit_Click(objectsender,EventArgse)
inttaskNameLength=txtTaskName.Text.Length;
if(taskNameLength>
10)
Label1.Visible=true;
return;
taskName=txtTaskName.Text.ToString();
//向数据库添加新任务
intresult=AddTask(userID,taskName);
//返回任务列表页
protectedvoidbtnReset_Click(objectsender,EventArgse)
txtTaskName.Text="
protectedvoidbtnBackToList_Click(objectsender,EventArgse)
protectedintAddTask(intvalue_userID,stringvalue_taskName)
//得到查询字符串
insertintoTask(taskName,createTime,taskStatus,userID)values('
+value_taskName+"
'
+DateTime.Now+"
0'
+value_userID+"
intresult=cmd.ExecuteNonQuery();
实训二任务管理系统(ADO版)
利用C#程序设计中学习到的ADO.NET技术,实现任务管理系统。
掌握ADO.NET技术的用法
分析ADO.NET技术的优缺点
3、SqlDataSource的优缺点分析
SqlDataSource在使用的时候更加容易操作,他直接绑定的是数据库中的表。
所以只要绑定好了,对该表的增删改查操作对应的就完成了,快速开发的首选。
但缺点是不可变通,整个程序功能被SqlDataSource限制的死死的。
并且还打乱了分层体系。
4、实训内容
完成任务管理系统增、删、改功能的设计
publicpartialclasstaskList:
任务列表"
这里列出了您创建的所有任务"
GetTaskByUserID(userID);
protectedvoidGetTaskByUserID(intvalue_userID)
stringstrCon=ConfigurationManager.ConnectionStrings["
select*fromTaskwhereuserID='
+"
orderbytaskName"
//创建Connection对象
SqlConnectioncon=newSqlConnection(strCon);
//创建SqlCommand方法一:
使用Connection对象的CreateCommand方法来创建一个Command对象。
cmd.CommandText=strqry;
//创建SqlCommand方法二:
直接使用new关键字来创建
//SqlCommandcmd=newSqlCommand();
//cmd.CommandText=strqry;
//cmd.Connection=con;
//创建SqlCommand方法三:
直接在new的时候带两个参数来创建
//SqlCommandcmd=newSqlCommand(strqry,con);
//创建DataAdapter对象
SqlDataAdapteradp=newSqlDataAdapter(cmd);
//创建DataSet对象
DataSetds=newDataSet();
//填充DataSet对象,将其填充后的表命名task
adp.Fill(ds,"
task"
//绑定数据对象
gridViewTask.DataSource=ds;
gridViewTask.DataMember="
gridViewTask.DataBind();
protectedvoidbtnNewTask_Click(objectsender,EventArgse)
taskAdd.aspx?
taskName="
protectedvoidbtnQuit_Click(objectsender,EventArgse)
//清空session,返回到登录页面
Session.Abandon();
login.aspx"
protectedvoidgridViewTask_RowCreated(objectsender,GridViewRowEventArgse)
if(e.Row.RowType==DataControlRowType.DataRow)
//实例化三个操作按钮
LinkButtonlinkButtonEdit=(LinkButton)e.Row.FindControl("
linkButtonEdit"
LinkButtonlinkButtonChange=(LinkButton)e.Row.FindControl("
linkButtonChange"
LinkButtonlinkButtonDelete=(LinkButton)e.Row.FindControl("
linkButtonDelete"
//将该行行号作为操作按钮的命令参数
linkButtonEdit.CommandArgument=e.Row.RowIndex.ToString();
linkButtonChange.CommandArgument=e.Row.RowIndex.ToString();
linkButtonDelete.CommandArgument=e.Row.RowIndex.ToString();
//为删除按钮添加onclick属性
linkButtonDelete.Attributes.Add("
onclick"
"
JavaScript:
确定删除该任务?
protectedvoidgridViewTask_RowDataBound(objectsender,GridViewRowEventArgse)
//改变状态的名称
Int32iStatus=Convert.ToInt32(e.Row.Cells[2].Text);
if(iStatus==0)
e.Row.Cells[2].Text="
未完成"
e.Row.Cells[2].Style.Add("
color"
red"
else
已完成"
green"
protectedvoidgridViewTask_RowCommand(objectsender,GridViewCommandEventArgse)
intindex=Convert.ToInt32(e.CommandArgument.ToString());
if(e.CommandName=="
editTask"
)//编辑任务
intid=int.Parse(gridViewTask.DataKeys[index].Value.ToString().Trim());
stringtaskName=gridViewTask.Rows[index].Cells[0].Text.ToString();
]=id;
+taskName);
elseif(e.CommandName=="
changeStatus"
)//修改任务状态
intstatusToChange;
//将要修改为的任务状态值
stringstatus=gridViewTask.Rows[index].Cells[2].Text.ToString();
if("
==status)
statusToChange=1;
statusToChange=0;
intresult=ChangeStatus(id,statusToChange);
deleteTask"
)//删除任务
intid=int.Parse(gridViewTask.DataKeys[index].V