ストアドプロシージャがあり、「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に変換するときに変換に失敗しました
どうすれば解決できますか?