Я пытался получить значения от IDataReader
недавно, не смог получить данные из второй таблицы, которую я запросил. Может кто-то, пожалуйста, помогите мне найти способ их получить. Вот то, что я до сих пор:Как получить значение из IDataReader, которое имеет несколько таблиц
using (SqlCommand command = new SqlCommand(@"SELECT name, value from Company.dbo.A;SELECT sum(value) from Company.dbo.A ", connection))
{
command.Notification = null;
SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
if (connection.State == ConnectionState.Closed)
connection.Open();
using (var reader = command.ExecuteReader())
return reader.Cast<IDataRecord>()
.Select(x => new LocationInfo()
{
Names = x.GetString(0),
Values = Math.Round(x.GetDouble(1), 2).ToString("#,##0.00"),
ValuesDouble=x.GetDouble(1),
SumVol=x.GetDouble(2)//this line does not work(index out of bounds error)
}).ToList();
}
Следовательно, как вы получите вторую команду SQL, которая SUM(value) into SumVol
, что я создал public double SumVol { get; set; }
для?
Спасибо для вашего ответа, но есть ли способ получить значение из двух sqlcommands? потому что мой запрос намного сложнее. заранее спасибо – MVCNoob
Я сказал вам в своем первом абзаце, используйте 'reader.NextResult()', чтобы переключиться на второй результирующий набор, затем обновите значения списка, прежде чем возвращать результат. –
Я до сих пор не понимаю, как я могу использовать reader.NextResult(). Нужно ли мне делать 2 с помощью (reader)?, Где я могу поставить reader.NextResult() ?. Извините за слишком многого, но вы можете привести мне пример использования reader.NextResult() в приведенном выше контексте. Благодарим вас за внимание btw :) – MVCNoob