在以下代码中,用于获取特定行中的产品列表,该命令仅在我将 productLine 硬编码(连接)到 SQL 中时返回结果。参数替换永远不会发生。

            + "lineName = '@productLine' "
            + "and isVisible = 1 ";
        MySqlDataAdapter adap = new MySqlDataAdapter(sql, msc);
        adap.SelectCommand.Parameters.Add("@productLine", productLine);

最佳答案

        + "lineName = ?productLine "
        + "and isVisible = 1 ";
    MySqlDataAdapter adap = new MySqlDataAdapter(sql, msc);
    adap.SelectCommand.Parameters.Add("?productLine", productLine);
  • 删除撇号 (')。
  • 把@改成?,这是MySql查询中参数的前缀。
  • 关于.net - MySqlCommand 参数不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/250599/

    10-12 13:15