当前位置: 代码迷 >> ASP.NET >> 怎么从一个数据库的表里,提取关于当前登陆用户的信息
  详细解决方案

怎么从一个数据库的表里,提取关于当前登陆用户的信息

热度:7164   发布时间:2013-02-25 00:00:00.0
如何从一个数据库的表里,提取关于当前登陆用户的信息
做的是一个卖书的网站(做着玩的 为了学习)。 在一个网页里,我想把某个用户(就是当前已登录的用户) 的购买历史显示出来。 所有的购买历史都放在一个表里了。 我打印购买记录的时候 是直接 拖拽的GridView, 在设置where的时候,应该是 MemberName=....... 等号后面的 应该放现在已登录的那个用户。 但是我不知道怎么放填。 我只知道我可以通过
User.Identity.Name 这个可以拿到现在已登陆的名字,但是我不知道怎么放上去。是通过GridView自身设置里 选 profile, session...之后....? 还是在c#文件里page_load里弄?不管怎么弄,只要弄出来就行,请大家告诉我具体方法。谢谢。比如说那个表名叫 order, 其中一列的属性叫 MemberName, 其他列就是购买信息。

------解决方案--------------------------------------------------------
楼主是不知道怎么取用户的信息吗?看下面的例子:
C# code
     /// <summary>        /// 用户登录时查询        /// </summary>        /// <param name="uname"></param>        /// <param name="pwd"></param>        /// <returns></returns>        public string[] Login_Sel(string uname, string pwd)        {            try            {                SqlParameter[] parm = {                                          SqlHelper.CreateCommandParameter("@uname",SqlDbType.NVarChar,uname),                                          SqlHelper.CreateCommandParameter("@pwd",SqlDbType.NVarChar,pwd)                                      };                string str = "select * from Users where uname=@uname and pwd=@pwd";                cmd = SqlHelper.CreateDbCommand(str, conn);                cmd.Parameters.AddRange(parm);                conn.Open();                SqlDataReader dr = cmd.ExecuteReader();                string[] result = new string[5];                if (dr.Read())                {                    result[0] = dr["uname"].ToString();                    result[1] = dr["truename"].ToString();                    result[2] = dr["qx"].ToString();                                       result[4] = dr["dptid"].ToString();                    return result;                }                else                {                    return null;                }            }            catch (Exception e)            {                throw e;            }            finally            {                conn.Close();            }        }//登录按钮,取的用户信息相当详细 protected void IBLogin_Click(object sender, ImageClickEventArgs e)        {            Users u = new Users();                        string uname =TextUname.Text.Trim();            string pwd = TextUpwd.Text.Trim();            string lasttime = u.LastLoginTime();            string nowtime = DateTime.Now.ToString("yyyy-MM-dd");            string last2time = u.Last2Time();            if (DateTime.Parse(lasttime) <= DateTime.Parse(nowtime)&&DateTime.Parse(lasttime)>=DateTime.Parse(last2time))            {                if (DateTime.Parse(nowtime) < DateTime.Parse("2012-08-1"))                {                    if (u.Login_Sel(uname, pwd) != null)                    {                        string logintime = DateTime.Now.ToString("yyyy-MM-dd");                        u.Add_LoginTime(logintime);                        string[] result = new string[3];                        result = u.Login_Sel(uname, pwd);                        Session["truename"] = result[1].ToString();                        Session["uname"] = result[0].ToString();                        Session["qx"] = result[2].ToString();                        Session["dptid"] = result[4].ToString();                        Response.Redirect("Index.aspx");                    }                    else                    {                        Common.ShowMessage.Show(Page, "seuss", "用户名或密码不正确", "Login.aspx");                        TextUname.Text = "";                        TextUpwd.Text = "";                    }                }                else                {                    Common.ShowMessage.Show(Page, "seuss", "试用期已过,请联系技术人员!", "Login.aspx");                }            }            else            {                        Common.ShowMessage.Show(Page, "seuss", "可能有恶意改动,请联系技术人员!", "Login.aspx");            }        }
  相关解决方案