0 / 0 / 1
Регистрация: 01.05.2009
Сообщений: 68
.NET 2.x

Неверное заполнение dataTable

23.03.2012, 11:36. Показов 1144. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Имеется вот такой sql запрос sqlFlats; Результат его выполнения - 12 строк.
Далее делаю вот это:

C#
1
2
3
OleDbCommand oleDbFlats = new OleDbCommand(sqlFlats, GetDbConnection());
OleDbDataAdapter daFlats = new OleDbDataAdapter(oleDbFlats);
daFlats.Fill(dtFlats);
В итоге - dtFlats - пустая.

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

Подскажите, пожалуйста, в чем может быть дело?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.03.2012, 11:36
Ответы с готовыми решениями:

Программное заполнение DataTable
Здравствуйте, ответьте кто знает. В DataSet программно добавила таблицы (tabl). Затем программно создала пустую таблицу. Как заполнить ее...

Создание и заполнение datatable из dataset
Hellow world! Подскажите пожалуйста, как создать и заполнить DataTable(таблица DataSet) и связать её с DGV(чтобы DGV заполнялось данными из...

Ограничения таблицы DataTable (автоматическое заполнение)
Добрый день, форум-чане. Копаюсь в ADO.net и возник следующий вопрос. Имеется база данных с именем test. В ней хранится таблица...

9
124 / 106 / 7
Регистрация: 14.02.2010
Сообщений: 263
23.03.2012, 12:02
Цитата Сообщение от NatNiM Посмотреть сообщение
Подскажите, пожалуйста, в чем может быть дело?
Если на другом запросе ошибки нет, значит ошибка в самом запросе.
0
0 / 0 / 1
Регистрация: 01.05.2009
Сообщений: 68
23.03.2012, 12:03  [ТС]
В PL SQL запускаю на выполнение - выдают 12 строк. В запросе используется оператор union, может быть, что из-за это такое поведение?
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
23.03.2012, 13:19
покажите запрос.
где вы проверяете пуста ли dtFlats?
0
0 / 0 / 1
Регистрация: 01.05.2009
Сообщений: 68
23.03.2012, 14:28  [ТС]
C#
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
select 
  (t4.name||', '||t3.name||', '||t2.name||', '||t1.name||', '||u.name) Flat,
  c.lastname||' '||c.firstname||' '||c.secondname FSL,
  c.docnum Docnum,
  dataPred.Stamp StampPred,
  dataPred.Val ValPred,
  dataPred.znach relPred,
  dataCur.stamp StampCur,
  dataCur.val ValCur,
  dataCur.znach relCur,
  (dataCur.Val-dataPred.Val) Volume,
  ch.sernum Sernum,ch.idinc Idinc,
  m.title mtrName,
  (m.intdig + m.decimal) digit
from c 
     join 
         (select t.* from t where t.id = 163 and t.type = 6 
                 union 
         (select t.* from table(log(163))t where t.type = 6))u on 
         u.id = c.id 
     join ch on 
          ch.dc = c.dc and 
          ch.ob = c.ob and 
          ch.d = c.d and 
          ch.j = c.j and 
          ch.ch = c.ch and 
          ch.mn = 0 and ch.mki = 1
     join m on
          m.mtr = ch.mtr 
     left join dat dataCur on 
          dataCur.dc = ch.dc and 
          dataCur.ob = ch.ob and 
          dataCur.d = ch.d and 
          dataCur.j = ch.j and 
          dataCur.ch = ch.ch and 
          dataCur.stamp = to_date('01.11.2011','dd.mm.yyyy') and 
          dataCur.znach = 3 and dataCur.Tarid = 0
     left join dat dataPred on 
          dataPred.dc = ch.dc and 
          dataPred.ob = ch.ob and 
          dataPred.d = ch.d and 
          dataPred.j = ch.j and 
          dataPred.ch = ch.ch and 
          dataPred.stamp = to_date('01.10.2011','dd.mm.yyyy') and 
          dataPred.znach = 3 and dataPred.Tarid = 0
     join t t1 on 
          t1.id = u.idp 
             join t t2 on 
                  t2.id = t1.idp 
                     join t t3 on 
                          t3.id = t2.idp 
                             join t t4 on 
                                  t4.id = t3.idp 
                                     join t t5 on 
                                          t5.id = t4.idp
0
124 / 106 / 7
Регистрация: 14.02.2010
Сообщений: 263
23.03.2012, 15:20
Весь этот ужас передается на сервак, или процедура вызывается?
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
23.03.2012, 15:33
*тихий ужас* а проще запрос нельзя сделать?

ну если нельзя, то советую убрать все join и добавлять по одному постепенно, тогда сможете поймать где ошибка.
0
0 / 0 / 1
Регистрация: 01.05.2009
Сообщений: 68
23.03.2012, 15:49  [ТС]
Далее происходит вот это:
C#
1
2
3
OleDbCommand oleDbFlats = new OleDbCommand(sqlFlats, GetDbConnection());
OleDbDataAdapter daFlats = new OleDbDataAdapter(oleDbFlats);
daFlats.Fill(dtFlats);
И потом проверяю количество строк, пишет, что ноль. Хотя при выполнении этого же запроса из базы выдает 12 строк
0
124 / 106 / 7
Регистрация: 14.02.2010
Сообщений: 263
23.03.2012, 15:54
Цитата Сообщение от NatNiM Посмотреть сообщение
Далее происходит вот это:
А что за СУБД? Засовывайте запрос в хранимую процедуру и вызывайте её. Так проще будет понять где косяк.
0
0 / 0 / 1
Регистрация: 01.05.2009
Сообщений: 68
23.03.2012, 16:05  [ТС]
Цитата Сообщение от Learx Посмотреть сообщение
*тихий ужас* а проще запрос нельзя сделать?

ну если нельзя, то советую убрать все join и добавлять по одному постепенно, тогда сможете поймать где ошибка.
Спасибо. Последовала вашему совету, нашла ошибку. Во втором join неверно запсиан формат даты.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.03.2012, 16:05
Помогаю со студенческими работами здесь

Заполнение элемента DataGridView данными из DataTable
Привет Всем! Помогите разобраться немного с тем, что я натворил в своем коде) Создаю приложение, в котором две формы. На MainFrom имеется...

Заполнение DataTable отдельными элементами с другой таблицы
Всем привет! В общем есть таблица DataTable с информацией. Из этой таблицы с помощью метода Select извлекаются строки, которые содержат...

Заполнение DataGridView из DataTable
Здравствуйте уважаемые эксперты! Есть следующий код: static class FillDataGridView { private static DataTable...

Неверное заполнение таблиц
Здравствуйте,помогите пожалуйста...создала две таблицы,построила схему данных,построила запрос и заполнила таблицу студенты,начала...

неверное заполнение матрицы через rand
матрица заполняется каким либо одним числом, в чем проблема? #include<stdio.h> #include<cstdlib> const int N=7; int main()...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru