Реферат: MS SQL Server 9 Yukon. Интеграция с .NET
recstruct[1] = new SqlMetaData("course", SqlDbType.Decimal, 10, 4);
SqlDataRecord rec = new SqlDataRecord(recstruct);
SqlPipe pipe = SqlContext.GetPipe();
pipe.SendResultsStart(rec, false);
using (SqlDataReader r = cmd.ExecuteReader())
{
while (r.Read())
{
rec.SetSqlDecimal(1, course);
while(current < r.GetDateTime(0))
{
rec.SetDateTime(0, current);
pipe.SendResultsRow(rec);
current = current.AddDays(1);
}
course = r.GetDecimal(1);
}
}
rec.SetSqlDecimal(1, course);
while (current <= end)
{
rec.SetDateTime(0, current);
pipe.SendResultsRow(rec);
current = current.AddDays(1);
}
pipe.SendResultsEnd();
}
}
Эта процедура превращает данные в таблице изменения курсов некой валюты (Course) в таблицу ежедневных значений курса, повторяя предыдущее значение для тех дней, в которые изменений не происходило.