|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
Буква ЙPekи кстати, есть ли разница по скорости между OLE и ODBC? OLEDB круче ODBC - багоплодилка Мне кажется наооборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2009, 00:21 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
ИзопропилPek Я ж чайник. Я просто вижу чего мне нужно получить на выходе, вижу какая структура данных и пытаюсь с наименьшими затратами и наибольшей унифицированостью сделать tool. Наймите специалиста. Ну дык я и есть специалист :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2009, 00:35 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
Pekwinsky!, Ну ладно, излагаю вводную :) Имеется база данных (AS400). У меня к ней доступ на чтение либо через OLE-драйвер либо через ODBC-драйвер. Не знаю какой быстрее, пользуюсь OLE т.к. в строке подключения там можно IP сервера указывать. А ODBC драйвер требует имя источника данных, а они на разных компах могут по разному обзываться. Имеется таблица с данными бух.итогов. Колонки которые нам нужны: Фирма (100, 101, 102, ... и т.д.) БухСчет (1001, 1002, 1003, ... и т.д.), ГодИтогов (2006, 2007, ... и т.д.), МесяцИтогов (от 1 до 12), СуммаДеб (положительное число; итоговые обороты по дебету счета за месяц года), СуммаКред (отрицательное число; итоговые обороты по кредиту счета за месяц года). Итоги на начало периодов система хранит в извращенной форме для разных фирм по разному. Их может не быть вообще для некоторых фирм. Тогда чтобы узнать итоги на начало 2008 года 11 месяца нужно сложить СуммаДеб и СуммаКред за все периоды где Год<2008 и за все периоды где Год=2008 и Месяц<11. А если они есть, то храняться в той же таблице, но Месяц=0. Т.е. если Год=2007 и Месяц=0 то сложив СуммаДеб и СуммаКред мы получим итоги на начало 2007 года. Т.е. для фирмы 100 итоги могут быть посчитаны на начало 2007 года, для фирмы 200 на начало 2003 года, для фирмы 300 их нет вообще. Власти над процессом расчета итогов я не имею. Теперь нужен отчет: для одной заданой фирмы для одного выбранного года и месяца нужно получит следующее: бухСчет ВыбраныйМесяц СледМесяц 1000 ОстНаКонецМес ОстНаКонецМес 1001 ОстНаКонецМес ОстНаКонецМес 1002 ОстНаКонецМес ОстНаКонецМес ... подитог: Итого Итого 2001 ОборотЗаМесяц ОборотЗаМесяц 2002 ОборотЗаМесяц ОборотЗаМесяц 2003 ОборотЗаМесяц ОборотЗаМесяц ... подитог: Итого Итого Вот сижу и думаю как лучше сделать. На выполнение пяти запросов ушло 1 час 10 минут: - найти были ли посчитаны итоги на начало периода и если да то получить год и месяц; - посчитать итоги на начало Года выбранного месяца; - посчитать обороты с начала Года выбр.месяца до месяца предшеств.выбранному месяцу; - посчитать обороты за выбр.месяц; - посчитать обороты за след.месяц; Подскажите в общих чертах как лучше сделать кто может? Имеется база данных (AS400). - че за зверь? если хотите, чтобы вам написали запрос - выложите сюда скрипт/скрипты на создани & заполнение данными таблиц и опишите результат который хотите получить. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2009, 10:54 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
ребят, подниму тему. нужно сделать именно группировку DataTable. посчитать сумму по определенной группировке. на стороне бд скул запросом - нереально. данных в БД грубо говоря нет, они в приложение появляются. как вариант, конечно, залить в бд, там сделать запрос и потом снести в бд - но что-то через одно место это, как и циклами шерстить таблицу в приложении. есть другой какой-нибудь способ, помимо LINQ? приложение на .Net 2.0, поэтому с LINQ никак. фильтрами вроде DataTable.DefaultView.RowFilter или DataTable.Columns["Col1"].Expressions не получится так сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2010, 10:05 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
Здравствуйте, у меня есть задача из одной DataTable сгруппировать и создать другую, но не включать все столбцы. Подскажите как это сделать по уму, мне не нравится код который я сделал: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2015, 07:25 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
Евгений_leaПодскажите как это сделать по уму Выбросить DataTable'ы уже лет 10 как назад и начать использовать свои класс-домены. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2015, 12:55 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
Евгений_lea, Как минимум кусок Код: c# 1. 2. 3.
в топку! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2015, 13:49 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
Почему, в таблице не создадутся строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 08:48 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
System.ArgumentException: Длина входного массива больше числа столбцов в этой таблице. в System.Data.DataRow.set_ItemArray(Object[] value) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 08:59 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
Евгений_lea, избавься от datatable, цепляй данные к dgv через BindingSource ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 09:20 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
Мне dgv не нужен, это только для примера, у меня выгрузка отчёта в Excel. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 12:12 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
Евгений_leaМне dgv не нужен, это только для примера, у меня выгрузка отчёта в Excel. Зачем нужен datatable при выгрузке в Excel? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 12:24 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
Чтобы загрузки запрос в память и закрыть соединение. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 13:19 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
загрузить ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 13:20 |
|
группировка DataTable или SQL запрос к DataTable
|
|||
---|---|---|---|
#18+
Pek, ответ такой: IEnumerable<DataRow> results = dataTable.AsEnumerable().GroupBy(t => t["columnName"]) .Select(g => g.First()); Источник: https://social.msdn.microsoft.com/Forums/ru-RU/693b2afa-773a-4db5-a2a4-6269c9f35303/-datatable-c?forum=programminglanguageru ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2017, 10:35 |
|
|
start [/forum/topic.php?fid=20&msg=39141064&tid=1400102]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 151ms |
0 / 0 |