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
代碼的工作,但我決心儘可能使用我的數據訪問層,即使它會導致我使用,我不熟悉的代碼。請幫助親愛的人。 :)
你的登錄代碼是什麼樣的? – DGibbs
@DGibbs 登錄按鈕代碼: ... DataTable dt = DAL.GetData(「SELECT * FROM StudentUser WHERE StudentID =」+ txtID.Text); ...一些錯誤檢查代碼... if(txtPW。Text == dt.Rows [0] [1] .ToString()); Session.Add(「StudentID」,dt);的Response.Redirect( 「ApplyBlueform.aspx」); } –