c# - 根据 Access 表检查 ID 并循环执行 SQL 语句

标签 c# asp.net sql

我发布了一个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/

相关文章:

c# - 从并行任务问题更新图像文件

c# - 在 Microsoft Identity 上重置密码会导致 System.Security.Cryptography.CryptographicException

c# - OpenGL 3.3+ - 着色器、属性、制服、输入/输出变量 - 如何、什么、何时、为什么?

javascript - __dopostback 在 javascript 函数中不起作用

mysql - 如何在mysql中将地址与状态连接起来

c# - 在 C# 中生成位图 - 已弃用?

javascript - 在 GridView DataBind 之后更新 ASP.NET 页面

javascript - 通过 JQuery 打开新的浏览器窗口不通过参数发送所有值

SQL 选择所有联接值都等于值的位置

sql - MS SQL服务器: Check to see if a user can execute a stored procedure