我想查看从sql数据库到gridview的特定登录客户的配置文件(详细信息)
本文关键字:登录 客户 配置文件 详细信息 gridview sql 数据库 | 更新日期: 2023-09-27 18:00:17
这是我的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();
}
它显示了(来自sql的)所有数据,而不是特定登录客户
这是因为SELECT
查询中的WHERE
条件表示WHERE Username = Username
是TAUTOLOGY
,并且将始终是TRUE
,因此获取所有行。
本质上,您的SELECT
查询只是在进行
select * from UserData;
您需要在WHERE
条件中指定已登录的客户ID才能获得他/她的记录。
考虑到您的ASP.NET
代码中有一个名为Username
的变量,您在其中存储了当前登录的客户名称;然后像下面的一样更改代码
SqlCommand cmd = new SqlCommand("select * from UserData WHERE Username = @Username ", conn);
cmd.Parameters.AddWithValue("@Username", Username);
da.SelectCommand = cmd;