我检索从列表框值,并在字符串格式化它们作为误差变换数据类型为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(最大值))
在存储过程中,我比较喜欢
SELECT * FROM AUS_CID_Cases
WHERE
AddedBy IN (@raisedByLogin)
哪里@raisedByLogin是我传递的参数之一,这些值。它的值如下:@ raisedByLogin =“4,2,1”
AddedBy has datatype bigint。
当我运行代码时,我得到错误为“Error conversion data type varchar to bigint。”。据我所知,这是因为AddedBy列有数据类型bigint。我无法更改该数据类型。
然而,当我投AddedBy像
SELECT * FROM AUS_CID_Cases
WHERE
CAST(AddedBy as VARCHAR) IN (@raisedByLogin)
我不明白的错误,但没有被选中即我没有得到来自SELECT语句的任何结果。
我该怎么办?
非常感谢你...这真的帮了我很多.. – user1181942