2010-12-02 53 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 & ")";