Реферат: MS SQL Server 9 Yukon. Интеграция с .NET
public void Send (System.Data.Sql.ISqlReader reader)
Отправляет клиенту все записи из указанного набора.
public void SendResultsStart (System.Data.Sql.ISqlRecord record , bool sendRow)
Посылает клиенту первую запись в наборе записей. Устанавливает свойство SendingResults в true.
public System.Boolean SendingResults { get; }
Указывает, что процесс отправки набора записей не окончен.
public void SendResultsRow (System.Data.Sql.ISqlRecord record)public void Send (System.Data.Sql.ISqlRecord record )
Посылает клиенту очередную запись в наборе. Требует SendingResults == true.
public void SendResultsEnd ( )
Сигнализирует об окончании набора записей и устанавливает свойство SendingResults в false.
Таблица 2.
Таким образом, помимо передачи клиенту набора данных, полученного от сервера, можно формировать результаты вручную. С точки зрения клиента это будет выглядеть как обычный набор записей.
Возвращаем произвольные данные
Пока что документация весьма скупо освещает этот вопрос, но после нескольких экспериментов мне удалось создать вот такую процедуру:
[SqlProcedure()] public static void CurrencyCourse( [SqlMapping(typeof(SqlDateTime))] DateTime start, [SqlMapping(typeof(SqlDateTime))] DateTime end) { using (SqlCommand cmd = SqlContext.GetCommand()) { cmd.CommandText = @" select changeDate, course from Course where changeDate between @start and @end"; cmd.Parameters.AddWithValue("@start", start); cmd.Parameters.AddWithValue("@end", end); DateTime current = start; SqlDecimal course = SqlDecimal.Null; // сначала курс отсутствует; SqlMetaData[] recstruct = new SqlMetaData[2]; К-во Просмотров: 470
Бесплатно скачать Реферат: MS SQL Server 9 Yukon. Интеграция с .NET
|