Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
04.04.2013, 12:07
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
Добрый день, уважаемые форумчане! Возникла такая не приятная ситуация. Есть типизированный DataSet, в нем создаю новый TableAdapter и использую "use sql statements" и пытаюсь вставить туда запрос где есть Case, в котором мне нужно сравнивать с переменной, но в конце мне выдает что необходимо объявить скалярную переменную которую я использую в Case. Пытался писать Declare, выдает что не поддерживает. Кто-то сталкивался с таким. Очень важно, потому как если использовать для заполнения данных хранимку из БД в скорости теряем раз в 5. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 13:40
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
Что никто не сталкивался с такой проблемой? Может кто что подскажет очень нужно. За ранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 13:41
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
t_e_m_a, покажи запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 13:55
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
думаю запрос здесь не при чем, так как если я на его основе создам хранимую процедуру то все будет работать Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 14:00
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
pationt_e_m_a, покажи запрос если бы кто-то подсказал как в case засунуть переменную или как-то по другому решить это ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 15:59
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
t_e_m_apationt_e_m_a, покажи запрос если бы кто-то подсказал как в case засунуть переменную или как-то по другому решить это точно также как и в where - добавить параметр ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 16:42
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
pationt_e_m_aпропущено... если бы кто-то подсказал как в case засунуть переменную или как-то по другому решить это точно также как и в where - добавить параметр так вот же у меня параметр Код: sql 1.
но на него ругается, выдает что нужно объявить скалярную переменную, я в первом посте это писал ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 17:11
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
t_e_m_aОчень важно, потому как если использовать для заполнения данных хранимку из БД в скорости теряем раз в 5. Не верю. Наоборот - может быть ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 17:22
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
Кстати, может Вы действительно не определили @dat ? Параметр у вас называется @datsum. Проверьте название в датаадаптере. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 19:27
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
Cat2t_e_m_aОчень важно, потому как если использовать для заполнения данных хранимку из БД в скорости теряем раз в 5. Не верю. Наоборот - может бытьЗависит от того, как используется ХП, и что в ней делается... Если дергать "навороченную" ХП на каждую обрабатываюмую запись из большого пакета - скорость обработки "просядет" в 9 случаях из 10 (оптимистично). Может, где-то и не будет "в 5 раз", но где-нибудь вполне может оказаться и по-больше... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 19:51
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
Cat2t_e_m_aОчень важно, потому как если использовать для заполнения данных хранимку из БД в скорости теряем раз в 5. Не верю. Наоборот - может быть в моем случае как раз и в скорости очень заметно. Эта хранимая процедура вызывается очень часто. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 19:57
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
Меня так никто и не понял. Я хочу этот код Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
врулить в типизированный DataSet, создав в нем новый TableAdapter c кодом который выше. Я переменные сам не объявляю я их так обозначил, а при создании автоматически метода Fill они как-то у себя объявляются и все работает хорошо, но если я поставлю переменную в Case, то сразу же на нее система ругается. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 20:15
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
t_e_m_a, Вы так разгорячились, что не ответили на вопрос Cat2Параметр у вас называется @datsum. Проверьте название в датаадаптере. А в запросе - @dat ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 20:25
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
t_e_m_aсли использовать для заполнения данных хранимку из БД в скорости теряем раз в 5. это как? как надо сделать шо бы ХП работала дольше прилетающего запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 22:46
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
Cat2t_e_m_a, Вы так разгорячились, что не ответили на вопрос Cat2Параметр у вас называется @datsum. Проверьте название в датаадаптере. А в запросе - @dat в датаадаптере нет ни @dat ни @datsum ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 22:48
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
beg-in-ert_e_m_aсли использовать для заполнения данных хранимку из БД в скорости теряем раз в 5. это как? как надо сделать шо бы ХП работала дольше прилетающего запроса. а вот так и получается, я подчеркиваю что работаю с типизированным DataSet и если и использую ХП то опять же таки через это самый источник данных, создавая в нем новый DataAdapter и выбирая нужную ХП из списка. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
04.04.2013, 23:38
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
t_e_m_aя подчеркиваю что работаю с типизированным DataSet и если и использую ХП то опять же таки через это самый источник данных, создавая в нем новый DataAdapter и выбирая нужную ХП из списка. а....я то думал шо Земля слетела с оси. Откомпилированная хранимая процедура даже в теории не может работать медленнее ,чем прилетаемый запрос, который надо ещё распарсить и применить. в описанной схеме тормоза явно не от ХП. как то давным давно , когда писал свою первую прогу , сильно удивился, что один и тот же агоритм, реализованный на ХП в MS-SQL работал в 100 раз быстрее , чем тот же алгоритм, но реализованный на стороне C#. 100 раз, я реально замерял. да и в глаза это бросалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.04.2013, 01:11
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
t_e_m_aМеня так никто и не понял. Я хочу этот код [...пропущено...] врулить в типизированный DataSet, создав в нем новый TableAdapter c кодом который выше. Я переменные сам не объявляю я их так обозначил, а при создании автоматически метода Fill они как-то у себя объявляются и все работает хорошо, но если я поставлю переменную в Case, то сразу же на нее система ругается.Было время посмотреть этот шедевр. :) И пара соображений по его поводу возникла... Вы используете очень громоздкий и плохо читаемый способ округления даты-времени до "целых часов". Сравните результаты для текущей даты: Код: sql 1. 2.
Кстати, в Ваших данных тысячные секунд, случайно, не фигурируют? Ваше преобразование может тогда работать не совсем верно. Варианту с CONVERT это не мешает. Попробуйте в своем запросе использовать CTE - вместо подзапросов с преобразованиями и группировкой, там где LEFT JOIN... Весь запрос будет если не быстрее работать, то хотя бы чуть легче читаться... В подзапросе с алиасом H не совсем понятен смысл использования GROUP BY - он там лишний. Если нет агрегатных функций... И, выглядит лишним самый "верхний" INNER JOIN таблицы HOURLY с этим же подзапросом (алиас H), где таблица HOURLY тоже участвует. Фактически, получается, "один-в-один" по ключу саму на себя - что-то тут не так... Запрос получился весьма "развесистым". Поэтому у дизайнера датасетов элементарно "крышу сносит". и он "не находит переменные"... Кстати, если "поправить" запрос, может и процедура заработает лучше... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.04.2013, 22:07
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
sphinx_mvt_e_m_aМеня так никто и не понял. Я хочу этот код [...пропущено...] врулить в типизированный DataSet, создав в нем новый TableAdapter c кодом который выше. Я переменные сам не объявляю я их так обозначил, а при создании автоматически метода Fill они как-то у себя объявляются и все работает хорошо, но если я поставлю переменную в Case, то сразу же на нее система ругается.Было время посмотреть этот шедевр. :) И пара соображений по его поводу возникла... Вы используете очень громоздкий и плохо читаемый способ округления даты-времени до "целых часов". Сравните результаты для текущей даты: Код: sql 1. 2.
Кстати, в Ваших данных тысячные секунд, случайно, не фигурируют? Ваше преобразование может тогда работать не совсем верно. Варианту с CONVERT это не мешает. Попробуйте в своем запросе использовать CTE - вместо подзапросов с преобразованиями и группировкой, там где LEFT JOIN... Весь запрос будет если не быстрее работать, то хотя бы чуть легче читаться... В подзапросе с алиасом H не совсем понятен смысл использования GROUP BY - он там лишний. Если нет агрегатных функций... И, выглядит лишним самый "верхний" INNER JOIN таблицы HOURLY с этим же подзапросом (алиас H), где таблица HOURLY тоже участвует. Фактически, получается, "один-в-один" по ключу саму на себя - что-то тут не так... Запрос получился весьма "развесистым". Поэтому у дизайнера датасетов элементарно "крышу сносит". и он "не находит переменные"... Кстати, если "поправить" запрос, может и процедура заработает лучше... Нет миллисекунды не фигурируют вообще, по этому группировка работает правильно. Вы предлагаете слепить все в один запрос и сбросить все поля в Group By? А по поводу группировки в подмножестве с алиасом Н, да согласен это я затупил, она там вообще там не нужна и соответственно не нужно объеденять таблицу саму с собой) за это спасибо!!!!!!!!!! по поводу скорости после исправления, на выборке из 1000 записей, ничего особо не увидел. Предыдущий запрос был тоже не очень нагружен да и операция сравнения несет малые затраты времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
05.04.2013, 22:26
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
t_e_m_asphinx_mvпропущено... Было время посмотреть этот шедевр. :) И пара соображений по его поводу возникла... Вы используете очень громоздкий и плохо читаемый способ округления даты-времени до "целых часов". Сравните результаты для текущей даты: Код: sql 1. 2.
Кстати, в Ваших данных тысячные секунд, случайно, не фигурируют? Ваше преобразование может тогда работать не совсем верно. Варианту с CONVERT это не мешает. Попробуйте в своем запросе использовать CTE - вместо подзапросов с преобразованиями и группировкой, там где LEFT JOIN... Весь запрос будет если не быстрее работать, то хотя бы чуть легче читаться... В подзапросе с алиасом H не совсем понятен смысл использования GROUP BY - он там лишний. Если нет агрегатных функций... И, выглядит лишним самый "верхний" INNER JOIN таблицы HOURLY с этим же подзапросом (алиас H), где таблица HOURLY тоже участвует. Фактически, получается, "один-в-один" по ключу саму на себя - что-то тут не так... Запрос получился весьма "развесистым". Поэтому у дизайнера датасетов элементарно "крышу сносит". и он "не находит переменные"... Кстати, если "поправить" запрос, может и процедура заработает лучше... Нет миллисекунды не фигурируют вообще, по этому группировка работает правильно. Вы предлагаете слепить все в один запрос и сбросить все поля в Group By? А по поводу группировки в подмножестве с алиасом Н, да согласен это я затупил, она там вообще там не нужна и соответственно не нужно объеденять таблицу саму с собой) за это спасибо!!!!!!!!!! по поводу скорости после исправления, на выборке из 1000 записей, ничего особо не увидел. Предыдущий запрос был тоже не очень нагружен да и операция сравнения несет малые затраты времени. упростил запрос! Попробовал манипуляцию с Сase как в предыдущем запросе, все те же ошибки. После чего провел такой эксперимент, взял простой запрос с одним полем из одной таблицы и вставил Сase, получил те же ошибки. Могу сделать вывод для Case в менеджере нельзя подставлять переменную!!! Проверено! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.04.2013, 19:27
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
t_e_m_aМогу сделать вывод для Case в менеджере нельзя подставлять переменную!!! Проверено! t_e_m_aв датаадаптере нет ни @dat ни @datsum И что вы хотите, если нет таких параметров? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.04.2013, 23:02
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
Cat2t_e_m_aМогу сделать вывод для Case в менеджере нельзя подставлять переменную!!! Проверено! t_e_m_aв датаадаптере нет ни @dat ни @datsum И что вы хотите, если нет таких параметров? А вы вообще понимаете о чем я? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.04.2013, 10:06
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
t_e_m_a, Наверное нет. Но мне кажется, что Вы и сами не понимаете. Параметр в case работает у всех, кроме Вас. Это повод задуматься и все-таки проверить, везде ли используется одно и то же имя параметра? При вызове, при определении, в теле запроса ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.04.2013, 12:01
|
|||
---|---|---|---|
|
|||
типизированный DataSet с запросом в TableAdapter |
|||
#18+
Cat2t_e_m_a, Наверное нет. Но мне кажется, что Вы и сами не понимаете. Параметр в case работает у всех, кроме Вас. Это повод задуматься и все-таки проверить, везде ли используется одно и то же имя параметра? При вызове, при определении, в теле запроса попробуйте сами! Я еще раз подчеркиваю что это в типизированном DataSet и создание DataAdapter происходит через менеджер, если руками все писать, то естественно все заработает. В данном случае нужно именно типизированный DataSet! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.04.2013, 13:32
|
|||
---|---|---|---|
типизированный DataSet с запросом в TableAdapter |
|||
#18+
t_e_m_aпопробуйте сами! Дык не то что пробовал, а использую постоянно t_e_m_aесли руками все писать, то естественно все заработает Так напишите ручками, если по недостатку знаний Вы не способны это в дизайнере настроить. Вам надо ехать или шашечки? Если у всех работает, то нужно искать ошибки у себя, а не выискивать "глюки" студии ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&tablet=1&tid=1404866]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 334ms |
total: | 506ms |
0 / 0 |