错误CS0266:无法将类型'object'隐式转换为'int'

时间:2012-01-17 12:57:05

标签: c# casting

  

错误CS0266:无法将类型'object'隐式转换为'int'。一个   存在显式转换(您是否错过了演员?)

int dd= 6000;
sqlCmdDefaultTime = new SqlCommand("myQuery", sqlCon);
sqlDefaultTime = sqlCmdDefaultTime.ExecuteReader();
while (sqlDefaultTime.Read())
{
      dd= sqlDefaultTime[1];
}

我该如何施展

4 个答案:

答案 0 :(得分:15)

简单转换为int

dd = (int)sqlDefaultTime[1];

答案 1 :(得分:1)

试试这个......

int.TryParse(sqlDefaultTime[1].ToString(), out dd);

如果解析成功,dd现在将成为新值。

除非对象已经是一个int,否则你可以把它投出来......

dd = (int)sqlDefaultTime[1];

答案 2 :(得分:1)

而不是索引器尝试使用SqlDataReader的GetXXX方法:

dd = sqlDefaultTime.GetInt32(1);

此处有更多GetXXX方法:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx

答案 3 :(得分:0)

的Integer.parseInt();

其他一些如TryParse和TryParseExact提供了更多功能和控制。

dd= Integer.parseInt(sqlDefaultTime[1]); 

应该这样做,只要你能保证返回的值总是一个int。