Я пытаюсь передать строку p_strIds с числовыми значениями, разделенными ",":
2844099,2844100,2844101,2844102,2844103,2844104,2844105,2844106,2844107,2844108,2844109,2844110,2844111,2844112,2844113,2844114,2844115,2844116,2844117,2844118
Строка используется как SqlParameter:
mySqlCommand.Parameters.Add(new SqlParameter("@p_Ids", p_strValores));
для использования в следующем запросе ресурса ( добавлен как ресурс ) в операторе IN:
UPDATE tbl_Datos
SET col_Leyenda = (select col_Id from tbl_Leyenda where col_Leyenda = 'T')
WHERE col_Id in (@p_Ids)
Запрос и оператор IN должны заканчиваться так:
UPDATE tbl_Datos
SET col_Leyenda = (select col_Id from tbl_Leyenda where col_Leyenda = 'T')
WHERE col_Id in (2844099,2844100,2844101,2844102,2844103,2844104,2844105,2844106,2844107,2844108,2844109,2844110,2844111,2844112,2844113,2844114,2844115,2844116,2844117,2844118)
Но он говорит, что не может конвертировать nvarchar в int, как я могу отформатировать параметр для использования в IN (... Ids ...)
Это работает, если я использую параметр p_strIds со строкой. Формат (queryString, p_strIds) так:
queryString = UPDATE tbl_Datos SET col_Leyenda = (select col_Id from tbl_Leyenda where col_Leyenda = 'T') WHERE col_Id in ({0})
strSql = string.Format(queryString, p_strValores)
mySqlCommand = new SqlCommand(strSql, m_obSqlConnection);
есть идеи о том, как это сделать в первом подходе с оператором sql в качестве ресурса?
Спасибо