Я извлечения значений из выпадающего списка и форматирование их в строку, какТип ошибки преобразования данных VARCHAR в BigInt
if (lbRaisedByLogin.SelectedIndex != -1)
{
foreach (ListItem item in lbRaisedByLogin.Items)
{
if (item.Selected == true)
{
sb.AppendFormat("{0},", item.Value);
}
}
searchCase.raisedByLogin = sb.ToString().TrimEnd(Convert.ToChar(","));
sb.Length = 0;
}
я передаю эти строки в процедуре хранения в качестве параметров (Datatype-- Varchar (Max))
в хранимой процедуре я сравниваю эти значения как
SELECT * FROM AUS_CID_Cases
WHERE
AddedBy IN (@raisedByLogin)
Где @raisedByLogin является одним из параметров я прошел. Он имеет такие значения, как @ raiseByLogin = "4,2,1"
AddedBy имеет тип данных bigint.
При запуске кода я получаю сообщение об ошибке «Ошибка преобразования типа данных varchar в bigint». Я понимаю, что это потому, что столбец AddBy имеет тип данных bigint. Я не могу изменить этот тип данных.
Однако, когда я бросил AddedBy как
SELECT * FROM AUS_CID_Cases
WHERE
CAST(AddedBy as VARCHAR) IN (@raisedByLogin)
я не получаю ошибку, но ничего не выбрано то есть я не получаю никакого результата от оператора выбора.
Что я могу сделать?
Большое вам спасибо ... это очень помогло мне. – user1181942