IDE:Microsoft Visual Studio 2012,DBMS:Microsoft SQL Server 2012
我有 2 个 ASP.NET 网页、一个登录页面和一个主页。我想要做的是在我登录后,它将 ID 保存到会话中,然后使用它从数据库(与 ID 相同的表)中检索用户的名字并进入主页上的标签。我过去可以使用:
SqlDataReader
但现在我有一个数据访问层类,它返回一个:
DataTable
有我的问题。我似乎无法弄清楚该怎么做。到目前为止,我有这些作品:
Session.Add("StudentID", dt);
那是登录页面。这是主页:
DataTable dt = (DataTable)Session["StudentUser"];
int ID = int.Parse(Session["StudentID"].ToString());
DAL.GetData("SELECT Fname FROM StudentUser WHERE StudentID = " + ID);
lblName.Text = dt["Fname"].ToString();
至于我的 DAL 代码,它们是:
public static DataTable GetData(string sql)
{
SqlConnection con = new SqlConnection(DAL.ConnectionString);
con.Open();
SqlCommand com = new SqlCommand(sql, con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
我的表被调用StudentUser
,我想要的标签上的部分是Fname
使用SqlDataReader
(dr) 时,登录代码通常如下所示:
Session.Add("StudentID", dr["StudentID"].ToString());
对于主页:
int ID = int.Parse(Session["StudentID"].ToString());
SqlCommand com = new SqlCommand("SELECT Fname FROM StudentUser WHERE StudentID = " + ID, con);
SqlDataReader dr = com.ExecuteReader();
dr.Read();
lblName.Text = dr["Fname"].ToString();
dr.Close();
该SqlDataReader
代码有效,但我决心尽可能使用我的数据访问层,即使它导致我使用我不熟悉的代码。请帮助亲爱的人。:)