Я пытаюсь получить несколько скалярных значений из одной таблицы.
Это мой запрос:
cmd.CommandText = "SELECT MAX(column1) AS bmax," +
"MIN(column1) AS bmin," +
"MAX(column2) AS amax, " +
"MIN(column2) AS amin," +
"MAX(column3) AS cmax," +
"MIN(column3) AS cmin " +
"FROM MainTable WHERE AND year > " + (DateTime.Today.Year - 1);
Как мне прочитать значения из него?Я уже попробовал следующее и заглянул в документ SqlDataReader
на MSDN:
int.Parse(dr["bmax"].ToString());
int.Parse(dr[0].ToString());
int.Parse(dr[0][0].ToString());
int.Parse(dr.GetSqlValue(0).ToString());
Я знаю, что запрос работает, потому что когда я получаю исключение для одного из моих испытаний, я могу навести курсор на SqlDataReader
возьмите объект и перейдите к просмотру результатов >>> [0]{system.data.common.datarecordinternal}
>>> непубличные члены >>> _values{object[6]}
Я вижу 6 строк со значениями, которые я пытался получить.
Я знаю, чтоЯ могу получить каждое значение отдельно, используя 6 различных запросов и ExecuteScalar
, но я хотел бы использовать один и тот же запрос, если это возможно