2012-07-29 32 views
1

我正在檢索某個列表值並將其存儲在Label中。將它存儲在一個標籤中後,我會將標籤交給另一個頁面。但是,我檢索的值必須根據用戶點擊的內容。例如,用戶點擊我網頁上的第二個產品。所以第二個產品的名稱必須交給下一頁。無法根據用戶點擊檢索productName

我在這裏的問題是,我設法檢索的值,但它不是根據用戶點擊。我的標籤的輸出結果是所有產品名稱,這是我不想要的。我哪裏出錯了?

這裏是我的.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(); 
+0

1)沒有WHERE在SQL子句。 2)如何設置會話,以及如何檢索會話中的值 – codingbiz 2012-07-29 13:53:12

+0

我可以成功將我的productName會話到另一個頁面。這只是我檢索我的會話編輯頁面中的所有產品名稱,這不是我想要的。 – kelly 2012-07-29 14:05:41

回答

0

如果你期望從你的數據庫中的一個產品,你可以改變whileif

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

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

但我認爲產品ID應該是唯一的

1

你想捕捉的是,用戶選擇產品的唯一標識符(您例如主鍵),然後添加一個WHERE子句的SELECT語句過濾該產品ID。目前,您的SELECT語句正在檢索表格中所有產品的產品名稱。

+0

所以我應該改變這個? string strCommandText =「從Products WHERE ProductID = @ProductID中選擇productName」; – kelly 2012-07-29 14:06:53