2010-09-01 2 views
1

У меня есть строго типизированный набор данных, я должен вернуть некоторые скалярные значения: сумму значений столбца, количество записей с указанным значением столбца и так далее.строго типизированный набор данных и пользовательские запросы executescalr, возвращающие значения

Я добавил некоторые пользовательские запросы к набору данных вида: выберите sum (mycolumn) как его имя из таблицы [где anothercolumn =: myparameter] (последняя часть является необязательной, и я использую oracle).

Я обнаружил, что некоторые запросы возвращают дженерики (то есть десятичные?), А другие возвращаемые объекты. Я не нашел для него правила, некоторые получают параметры, которых нет у других.

Кто-нибудь знает, почему я получаю это различное поведение? Теперь я обрабатываю каждый запрос так, как если бы он возвращал объект, но я хотел бы знать, не ошибаюсь ли я, или в чем причина этого досадного поведения.

ответ

0

Тип значения, которое вычисляется в базе данных запрос будет зависеть от базы данных (она решит, что на основе типа операндов и операций). Например, если база данных вычисляет результат как say currency, то соответствующее значение .NET будет Decimal и так далее. Вы можете использовать операцию преобразования базы данных/преобразования типов в самом запросе, чтобы обеспечить конкретный тип возвращаемого выражения.

+0

Благодарю вас за ответ, но я не согласен с его отношением к базе данных. Предположим, что у меня есть следующий сценарий: рассчитать сумму расходов, произведенных всем сотрудником, выполнить тот же расчет до, после или между указанной датой. Предположим, что каждая из этих функций имеет свой собственный запрос, который является другим способом адаптера таблицы. Набор данных возвращает десятичное число? для некоторых из них и для других: зачем? – 2010-09-01 09:51:43

Смежные вопросы