я называю процедуру магазина в C# результатов:получить двойное значение из результата запроса
0.033333
0.550000
0.133333
24.133333
В моем C# коде мне нужно проверить, какой из них является высоким, чем 24. Как я могу получить двойной преобразовать запрос результат для этого?
Вот мой код:
sqlConnection con2 = conec.ObtenerCon();
SqlCommand com2 = new SqlCommand("ind_meta", con2);
com2.CommandType = System.Data.CommandType.StoredProcedure;
com2.Parameters.Add("@finicial", SqlDbType.DateTime);
com2.Parameters["@finicial"].Value = Convert.ToDateTime(fini + " " + hini);
com2.Parameters.Add("@ffinal", SqlDbType.DateTime);
com2.Parameters["@ffinal"].Value = Convert.ToDateTime(ffin + " " + hfin);
DataTable ds1 = new DataTable();
using (SqlDataAdapter a1 = new SqlDataAdapter(com2))
{
a1.Fill(ds1);
}
foreach (DataRow dsRow1 in ds1.Rows)
{
if (double.Parse(dsRow1[0].ToString(), NumberStyles.Currency) < 24)
a++;
if (double.Parse(dsRow1[0].ToString(), NumberStyles.Currency) > 24 &&
double.Parse(dsRow1.ToString(), NumberStyles.Currency) < 48)
b++;
if (double.Parse(dsRow1[0].ToString(), NumberStyles.Currency) > 48)
c++;
}
Почему вы разбора строк, если вы могли бы бросить его прямо на 'double'? Например: 'double value = dsRow1.Field (0)' –
Я предполагаю, что ваш код не делает то, что вы хотите его сделать? Что * это * он делает? Сообщалось о любых ошибках? Результат отличается от того, что вы ожидаете? В чем проблема? –
Не работает ошибка об конвертации, результатом запроса является получение: dateiff (date1, date2)/60. – user2901626