我发布了一个question yesterday对于在 gridview 中选择一个项目然后将其添加到列表中,我找到了解决方案,它采用 gridview 的值,在本例中为 ID 号,然后将它们输出到 gridview 中的另一个页面。
我的问题是,是否可以根据访问数据库中的表检查 ID 的值,然后显示有关产品的更多信息?
我的购物车页面上有以下代码:
protected void Page_Init(对象发送者,EventArgs e)
{
如果( session [“CartSess”]!= null)
{
List 购物车 = (List)Session["CartSess"];
foreach (BasketClass BookID in (List)Session["CartSess"])
{
GridView1.DataSource = 购物车;
GridView1.DataBind();
AccessDataSource1.SelectCommand = "SELECT [BookID], [book_title] FROM [tblBook] WHERE [BookID]="+ BookID;
}
}
}
问题是,它只根据用户选择的最后一个值返回一个值,有没有一种方法可以遍历每个值,这样它就会不断添加到我放在页面上的新 gridview是否绑定(bind)到 AccessDataSource1?
最佳答案
我会尝试这样的事情:
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 & ")";
关于c# - 根据 Access 表检查 ID 并循环执行 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4335325/