1

我正在检索我的列表的一个值并将其存储在标签中。将其存储在标签中后,我会将标签会话到另一个页面。但是,我正在检索的值必须根据用户单击的内容。例如,用户单击我网页中的第二个产品。所以第二个产品的名称必须是会话到下一页。

我的问题是我设法检索了这些值,但这不是根据用户点击的内容。我的标签的输出结果是所有不是我想要的产品名称。我哪里出错了?

这是我的 .cs 代码:

string strConnectionString = ConfigurationManager.ConnectionStrings["PRODUCTSConnectionString"].ConnectionString;


    SqlConnection myConnect = new SqlConnection(strConnectionString);

    string strCommandText = "SELECT productName from Products";
    SqlCommand cmd = new SqlCommand(strCommandText, myConnect);

    myConnect.Open();
    SqlDataReader reader = cmd.ExecuteReader();

    Label1.Text = "";

    while (reader.Read())
    {
        Label1.Text += reader["productName"].ToString() + "<br/>";
    }

    reader.Close();
    myConnect.Close();
4

2 回答 2

1

您想要捕获用户选择的产品的唯一标识符(例如您的主键),然后将 WHERE 子句添加到您的 SELECT 语句中,以过滤该产品 ID。目前,您的 SELECT 语句正在检索表中所有产品的产品名称。

于 2012-07-29T13:53:53.613 回答
0

如果您期望数据库中有一种产品,您可以将其更改whileif

string strCommandText = "SELECT productName from Products WHERE productID=@ProductID";
SqlCommand cmd = new SqlCommand(strCommandText, myConnect);
cmd.Parameters.AddWithValues("@ProductID", productID);
...

if(reader.Read())
{
  //Label1.Text += reader["productName"].ToString();
  Label1.Text = reader["productName"].ToString();
}

但我认为 ProductID 应该是唯一的

于 2012-07-29T14:12:28.950 回答