1、实训指导书实训指导书实训一 任务管理系统(SqlDataSource版)1、目的:利用C#程序设计中学习到的数据库访问控件SqlDataSource,实现任务管理系统。2、重点: 掌握SqlDataSource的用法(选择、修改、删除等操作) 分析SqlDataSource的优缺点3、实训内容(1)完成用户登陆验证功能using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.W
2、eb.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class login : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) protected int CheckUser(string value_userName, string value
3、_passWord) int result; /查询结果 string strCon = ConfigurationManager.ConnectionStringsTrainningDSN.ConnectionString.ToString(); string strqry = select userID from UserInfo where userName= + value_userName + and passWord= + value_passWord + ; /创建并打开Connection对象 SqlConnection con = new SqlConnection(strC
4、on); con.Open(); /创建SqlCommand对象。 SqlCommand cmd = con.CreateCommand(); cmd.CommandText = strqry; /执行查询 SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() /若找到该用户则返回其ID值 result = Convert.ToInt32(druserID.ToString(); else result = 0; /若未能找到该用户则result值设为0 return result; protected void btnLogin_Clic
5、k(object sender, EventArgs e) /取得用户输入的用户名和密码 string userName = txtUserName.Text.ToString(); string passWord = txtPassword.Text.ToString(); /查看数据库中是否存在该用户名且密码正确 int chkResult = CheckUser(userName, passWord); if (0 = chkResult) /若不存在此用户 Response.Write(alert(用户名或密码错误!); else /若存在此用户 SessionuserID = chk
6、Result; Response.Redirect(taskList.aspx); (2)完成任务管理系统主界面的设计a)模板的设计 无标题页 b)GridView控件的设计 (3)完成任务管理系统删除功能、更改任务状态功能、编辑功能的设计(利用SqlDataSource控件) asp:SqlDataSource ID=SqlDataSource1 runat=server ConnectionString= SelectCommand=SELECT * FROM Task WHERE (userID = userID) ORDER BY taskName DeleteCommand=DELE
7、TE FROM Task WHERE (id = id) UpdateCommand=update Task set taskName=taskName where id=id (4)完成任务管理系统增加任务功能的设计public partial class taskAdd : System.Web.UI.Page string taskName; int userID; protected void Page_Load(object sender, EventArgs e) /获得用户名和任务名称 taskName = ; userID = Convert.ToInt32(Sessionus
8、erID.ToString(); if (!Page.IsPostBack) Label1.Visible = false; Master.lblNavigator.Text = 任务管理 新建任务; Master.lblDiscrption.Text = 输入新任务名称创建任务; protected void btnCommit_Click(object sender, EventArgs e) int taskNameLength=txtTaskName.Text.Length; if (taskNameLength 10) Label1.Visible = true; return; t
9、askName = txtTaskName.Text.ToString(); /向数据库添加新任务 int result = AddTask(userID, taskName); /返回任务列表页 Response.Redirect(taskList.aspx); protected void btnReset_Click(object sender, EventArgs e) txtTaskName.Text = ; protected void btnBackToList_Click(object sender, EventArgs e) /返回任务列表页 Response.Redirec
10、t(taskList.aspx); protected int AddTask(int value_userID, string value_taskName) /得到查询字符串 string strCon = ConfigurationManager.ConnectionStringsTrainningDSN.ConnectionString.ToString(); string strqry = insert into Task (taskName,createTime,taskStatus,userID) values ( + value_taskName + , + DateTime.
11、Now + ,0, + value_userID + ); /创建并打开Connection对象 SqlConnection con = new SqlConnection(strCon); con.Open(); /创建SqlCommand对象。 SqlCommand cmd = con.CreateCommand(); cmd.CommandText = strqry; /执行查询 int result = cmd.ExecuteNonQuery(); return result; 实训二 任务管理系统(ADO版)1、目的:利用C#程序设计中学习到的ADO.NET技术,实现任务管理系统。2
12、、重点: 掌握ADO.NET技术的用法 分析ADO.NET技术的优缺点3、SqlDataSource的优缺点分析SqlDataSource 在使用的时候更加容易操作,他直接绑定的是数据库中的表。所以只要绑定好了,对该表的增删改查操作对应的就完成了,快速开发的首选。但缺点是不可变通,整个程序功能被SqlDataSource 限制的死死的。并且还打乱了分层体系。4、实训内容完成任务管理系统增、删、改功能的设计public partial class taskList : System.Web.UI.Page int userID; protected void Page_Load(object s
13、ender, EventArgs e) Master.lblNavigator.Text = 任务管理 任务列表 ; Master.lblDiscrption.Text = 这里列出了您创建的所有任务; userID = Convert.ToInt32(SessionuserID.ToString(); GetTaskByUserID(userID); protected void GetTaskByUserID(int value_userID) /得到查询字符串 string strCon =ConfigurationManager.ConnectionStringsTrainningDS
14、N.ConnectionString.ToString(); string strqry = select * from Task where userID= + value_userID + + order by taskName; /创建Connection对象 SqlConnection con= new SqlConnection(strCon); /创建SqlCommand方法一:使用Connection对象的CreateCommand方法来创建一个Command对象。 SqlCommand cmd = con.CreateCommand(); cmd.CommandText=str
15、qry; /创建SqlCommand方法二:直接使用new 关键字来创建 /SqlCommand cmd = new SqlCommand(); /cmd.CommandText=strqry; /cmd.Connection=con; /创建SqlCommand方法三:直接在new的时候带两个参数来创建 /SqlCommand cmd = new SqlCommand(strqry, con); /创建DataAdapter对象 SqlDataAdapter adp = new SqlDataAdapter(cmd); /创建DataSet对象 DataSet ds = new DataSe
16、t(); /填充DataSet对象,将其填充后的表命名task adp.Fill(ds, task); /绑定数据对象 gridViewTask.DataSource = ds; gridViewTask.DataMember = task; gridViewTask.DataBind(); protected void btnNewTask_Click(object sender, EventArgs e) Response.Redirect(taskAdd.aspx?taskName=); protected void btnQuit_Click(object sender, EventA
17、rgs e) /清空session,返回到登录页面 Session.Abandon(); Response.Redirect(login.aspx); protected void gridViewTask_RowCreated(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) / 实例化三个操作按钮 LinkButton linkButtonEdit = (LinkButton)e.Row.FindControl(linkButtonEdit); LinkButton
18、linkButtonChange = (LinkButton)e.Row.FindControl(linkButtonChange); LinkButton linkButtonDelete = (LinkButton)e.Row.FindControl(linkButtonDelete); / 将该行行号作为操作按钮的命令参数 linkButtonEdit.CommandArgument = e.Row.RowIndex.ToString(); linkButtonChange.CommandArgument = e.Row.RowIndex.ToString(); linkButtonDe
19、lete.CommandArgument = e.Row.RowIndex.ToString(); /为删除按钮添加onclick属性 linkButtonDelete.Attributes.Add(onclick, JavaScript:return confirm(确定删除该任务?); protected void gridViewTask_RowDataBound(object sender, GridViewRowEventArgs e) /改变状态的名称 if (e.Row.RowType = DataControlRowType.DataRow) Int32 iStatus = C
20、onvert.ToInt32(e.Row.Cells2.Text); if (iStatus = 0) e.Row.Cells2.Text = 未完成; e.Row.Cells2.Style.Add(color, red); else e.Row.Cells2.Text = 已完成; e.Row.Cells2.Style.Add(color, green); protected void gridViewTask_RowCommand(object sender, GridViewCommandEventArgs e) int index = Convert.ToInt32(e.Command
21、Argument.ToString(); if (e.CommandName = editTask) /编辑任务 int id = int.Parse(gridViewTask.DataKeysindex.Value.ToString().Trim(); string taskName = gridViewTask.Rowsindex.Cells0.Text.ToString(); Sessionid = id; Response.Redirect(taskAdd.aspx?taskName= + taskName); else if (e.CommandName = changeStatus
22、) /修改任务状态 int id = int.Parse(gridViewTask.DataKeysindex.Value.ToString().Trim(); int statusToChange; /将要修改为的任务状态值 string status=gridViewTask.Rowsindex.Cells2.Text.ToString(); if ( 未完成 = status) statusToChange = 1; else statusToChange = 0; int result = ChangeStatus(id , statusToChange); Response.Redirect(taskList.aspx); else if (e.CommandName = deleteTask) /删除任务 int id = int.Parse(gridViewTask.DataKeysindex.V
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2