我有一个存储过程,它具有使用“IN”关键字的 where 条件。所以我想向存储过程发送多个值。
这是我的存储过程:
ALTER PROCEDURE [dbo].[xxx]
@COM_KEY varchar(max) = NULL
AS
BEGIN
SELECT
UserName, UserId
FROM
company
WHERE
(COM_KEY IN (@COM_KEY))
END
所以我在这里传递值
string companyID = "";
for (int i = 0; i < lbCompanies.Items.Count; i++)
{
if (i == 0)
{
companyID += Convert.ToInt32(lbCompanies.Items[i].Value);
}
else
{
companyID += "," + Convert.ToInt32(lbCompanies.Items[i].Value);
}
}
DataSet ApproveList = DataRepository.TUsersProvider.xxx(companyID);
但有一个错误
将 varchar 值 '3087,4058' 转换为数据类型 int 时转换失败
我该如何解决?