2010-12-02 50 views
2

我發佈了一個question yesterday用於在gridview中選擇一個項目,然後將它添加到列表中,我找到了一個解決方案,它取得了gridview的值,在這個大小寫一個ID號,然後在gridview的另一個頁面上輸出它們。檢查對訪問表的ID和循環SQL語句

我的問題是,是否有可能根據訪問數據庫中的表檢查ID的值,然後顯示有關該產品的更多信息?

我有下面的代碼我的籃子頁:

protected void Page_Init(object sender, EventArgs e) 
    { 
     if (Session["CartSess"] != null) 
     { 
      List<BasketClass> cart = (List<BasketClass>)Session["CartSess"]; 

      foreach (BasketClass BookID in (List<BasketClass>)Session["CartSess"]) 
      { 
       GridView1.DataSource = cart; 

       GridView1.DataBind(); 
       AccessDataSource1.SelectCommand = "SELECT [BookID], [book_title] FROM [tblBook] WHERE [BookID]=" + BookID; 
      } 
     } 
    } 

的問題是,它只返回基於用戶已經選擇了最後一個一個的值,是有辦法來遍歷他們每個人,所以它會不斷添加到我已經放置在頁面上的新的gridview,它綁定到AccessDataSource1?

+0

我不明白它做好,我刪除我的答案再看一遍。 – Aristos 2010-12-02 13:47:25

回答

0

我會嘗試這樣的:

string items = ""; 
string sql = "SELECT [BookID], [book_title] FROM [tblBook] WHERE [BookID] in ("; 
foreach (BasketClass BookID in (List<BasketClass>)Session["CartSess"]) 
{ 
    items += BookID & ","; 
} 
//Remove the trailing "," 
items.Remove(str.Length - 1, 1); 
GridView1.DataSource = cart; 
GridView1.DataBind(); 
AccessDataSource1.SelectCommand = sql & items & ")";