У меня есть таблица в моей базе данных в качестве свободного пространства ... в ней есть столбец с именем freesize с типом данных int.
У меня есть три значения:
1065189988
1073741818
1073741819
сейчас я пытаюсь получить общее свободное место, но получаю ошибку.
private void GetFreeSpace()
{
DataTable dt = new DataTable();
SqlConnection connection = new SqlConnection();
connection.ConnectionString = ConfigurationManager.ConnectionStrings["SumooHAgentDBConnectionString"].ConnectionString;
connection.Open();
SqlCommand sqlCmd = new SqlCommand("select sum(freesize)* 0.000000000931322575 as freespace from freespace", connection);
SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
sqlDa.Fill(dt);
connection.Close();
if (dt.Rows.Count > 0)
{
double freeSpace = Convert.ToDouble(dt.Rows[0]["freespace"].ToString());
}
}
Ошибка арифметического переполнения при преобразовании выражения в тип данных int.
Line 123: SqlCommand sqlCmd = new SqlCommand("select sum(freesize)* 0.000000000931322575 as freespace from freespace", connection);
Line 124: SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd);
Line 125: **sqlDa.Fill(dt);** here i get error
Line 126: connection.Close();
Line 127: if (dt.Rows.Count > 0)
Любые предложения о том, как получить значение в свободном пространстве без изменения типа данных?
Спасибо
Я знаю, что это хорошо работает с bigint, но я хочу int.