【问题标题】:Checking ID against Access Table and looping through an SQL statement根据访问表检查 ID 并循环通过 SQL 语句
【发布时间】:2010-12-02 13:08:30
【问题描述】:

我发布了question yesterday 用于在 gridview 中选择一个项目,然后将其添加到列表中,我找到了一个解决方案,它采用 gridview 的值,在本例中是一个 ID 号,然后将它们输出到网格视图中的另一个页面。

我的问题是,是否可以根据访问数据库中的表检查 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;
            }
        }
    }

问题是,它只根据用户选择的最后一个值返回一个值,有没有办法循环遍历它们中的每一个,所以它会不断添加到我放置在页面上的新网格视图中是否绑定到 AccessDataSource1?

【问题讨论】:

  • 我没看明白,我把答​​案删了再看。

标签: c# asp.net sql


【解决方案1】:

我会尝试类似:

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 & ")";

【讨论】:

    猜你喜欢
    • 2019-02-12
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    相关资源
    最近更新 更多