我想将结果分配到会话中
c#code
protected void BindData()
{
SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-677TN4G\SQLEXPRESS;Initial Catalog=homework;Persist Security Info=True;User ID=sa;Password=123456");
DataSet ds = new DataSet();
DataTable FromTable = new DataTable();
con.Open();
string cmdstr = "Select CourseName from Staff where FacultyNumber=@idd";
SqlCommand cmd = new SqlCommand(cmdstr, con);
cmd.Parameters.AddWithValue("@idd", Session["id"].ToString());
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(ds);
DataList1.DataSource = ds.Tables[0];
DataList1.DataBind();
}
所以我怎样才能做到这一点
Session["id"] = cmdstr.Text;
但不起作用
我是这样做但不能正常工作
我这样做
protected void BindData()
{
SqlConnection con = new SqlConnection(@"Data Source=DESKTOP-677TN4G\SQLEXPRESS;Initial Catalog=homework;Persist Security Info=True;User ID=sa;Password=123456");
DataSet ds = new DataSet();
DataTable FromTable = new DataTable();
con.Open();
string cmdstr = "Select CourseName from Staff where FacultyNumber=@idd";
SqlCommand cmd = new SqlCommand(cmdstr, con);
cmd.Parameters.AddWithValue("@idd", Session["id"].ToString());
SqlDataAdapter adp = new SqlDataAdapter(cmd);
adp.Fill(ds);
DataList1.DataSource = ds.Tables[0];
Session.Add("Staff", ds.Tables[0]);
DataList1.DataBind();
Label1.Visible = true;
Label1.Text = "Course Name is : " + Session["Staff"].ToString();
}
,输出
课程名称是:表
不是选定的值
答案 0 :(得分:0)
在您的情况下,结果是DataTable
没问题,您也可以将此DataTable存储到会话中。让staffData
成为您从数据库中填充的DataTable
Session.Add("Staff", staffData); // Adding datatable to the session
在您使用的情况下,ds
用作DataSet,您正在访问ds.Tables[0]
以绑定网格。在这种情况下,您可以使用以下内容:Session.Add("Staff", ds.Tables[0]);
。
稍后您可能会提出另一个问题,即我如何从会话中检索此DataTable,我也在这里添加答案。
DataList1.DataSource = (DataTable)Session["Staff"];