c# - mysql dataSource使用带有IN子句的select从参数中删除引号
问题描述
似乎mysql select参数正在插入双引号
string strEstablishments = String.Join(",", myEstablishments);
strEstablishments 包含(来自 VS2019 调试窗口)
"'1007','3'"
sqlDSselectEstablishment.SelectParameters.Add("Establishments", strEstablishments);
sqlDSselectEstablishment.SelectCommand = "SELECT EstablishID,Description FROM tblEstablishment WHERE EstablishID IN (@Establishments)";
但这并没有给出预期的结果,它只返回一个填充下拉列表的结果,但应该返回两个(机构 1007 和 3)
在我看来,字符串周围的双引号正在被注入,这可以解释返回的结果,我已经尝试删除它们strEstablishments.Replace("\"","")
,但没有任何乐趣。
从 MySQL 直接运行以下命令会按预期返回结果:
SELECT EstablishID,Description FROM tblEstablishment WHERE EstablishID IN ('3','1007');
任何想法如何使用 asp.net 获得预期的结果
解决方案
推荐阅读
- asp.net-core - 如何减少控制器中的冗余?
- elm - 访问二维数组 Elm 中的元素
- python - 在 Python 中正确编写 For 循环
- javascript - AWS Cognito 身份验证返回错误 - Javascript 开发工具包
- c++ - 无法启动 OpenGL 窗口
- c++ - Visual Studio 2017 社区设置/选项未生效
- python - Python多维矩阵定义索引错误
- smartcontracts - eosio-ld 的链接问题
- javascript - 为什么 JavaScript 有 Math 对象?
- javascript - 等待javascript递归函数返回true