我想查看从sql数据库到gridview的特定记录客户的配置文件(详细信息)

时间:2015-06-27 12:32:37

标签: c# asp.net aspxgridview

这是我的viewprofile.aspx代码,其中将发生绑定。我计划将我在sql中的数据绑定到我的gridview,但它向我显示所有数据(来自sql)而不是特定登录客户的数据。这是我的代码:

protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["New"] != null)
            {
                bindgrid();
            }
        }
public void bindgrid()
        {
            SqlConnection conn = new SqlConnection("Data Source = 'PAULO'; Initial Catalog=ShoppingCartDB;Integrated Security =True");
            SqlCommand cmd = new SqlCommand("select * from UserData WHERE Username = Username ", conn);

        SqlDataAdapter da = new SqlDataAdapter("", conn);
        da.SelectCommand = new SqlCommand("select * from UserData WHERE Username = Username", conn);
        DataSet ds = new DataSet();
        da.Fill(ds, "data");
        GridView1.DataSource = ds.Tables[0].DefaultView;
        GridView1.DataBind();
    }

1 个答案:

答案 0 :(得分:1)

  

它向我展示了所有数据(来自sql)而不是   特定登录客户

这是因为WHERE查询中的SELECT条件显示WHERE Username = Username TAUTOLOGY并且始终为TRUE,因此获取所有行

实质上,您的SELECT查询正在执行

select * from UserData;

您需要在WHERE条件中指定登录的customerid才能获得他/她的记录。

考虑到您的Username代码中有一个名为ASP.NET的变量,您存储了当前登录的客户名称;然后像下面那样更改你的代码

SqlCommand cmd = new SqlCommand("select * from UserData WHERE Username = @Username ", conn);
cmd.Parameters.AddWithValue("@Username", Username);
da.SelectCommand = cmd;