首页 > 解决方案 > 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 获得预期的结果

标签: c#mysqlasp.net

解决方案


推荐阅读