读书人

C#转换的一点烦人的有关问题各位帮下

发布时间: 2011-12-11 23:19:43 作者: rapoo

C#转换的一点烦人的问题,各位帮下忙System.InvalidCastException: 指定的转换无效。
string count = "select id from Comment_url where url='" + url + "' ";
SqlCommand cmd1 = new SqlCommand(count, conC);
int cc = (Int32)cmd1.ExecuteScalar();
Response.Write(cc.ToString());

为什么它会报System.InvalidCastException: 指定的转换无效。
哪位哥们帮下忙了


[解决办法]
ExecuteScalar()本身就返回一个int, 为什么还要转换呢?

你确定查询返回的结果是唯一值吗?


[解决办法]
试试:
首先确认cmd1.ExecuteScalar()不能为空!!!
如果为空,你进行(Int32)拆箱时,当然会出现这样错误.

C# code
public static int ConvertToInt(string value)        {   ///数据为空,返回-1            if(string.IsNullOrEmpty(value))return -1;            int result = -1;            ///执行转换操作            Int.TryParse(value,out result);            return result;        } 

读书人网 >asp.net

热点推荐