Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
NatNiM
0 / 0 / 1
Регистрация: 01.05.2009
Сообщений: 68
1

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

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

Здравствуйте.

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

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

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

Подскажите, пожалуйста, в чем может быть дело?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2012, 11:36
Ответы с готовыми решениями:

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

Создание и заполнение datatable из dataset
Hellow world! Подскажите пожалуйста, как создать и заполнить DataTable(таблица...

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

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

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

9
serg42
118 / 100 / 7
Регистрация: 14.02.2010
Сообщений: 263
23.03.2012, 12:02 2
Цитата Сообщение от NatNiM Посмотреть сообщение
Подскажите, пожалуйста, в чем может быть дело?
Если на другом запросе ошибки нет, значит ошибка в самом запросе.
0
NatNiM
0 / 0 / 1
Регистрация: 01.05.2009
Сообщений: 68
23.03.2012, 12:03  [ТС] 3
В PL SQL запускаю на выполнение - выдают 12 строк. В запросе используется оператор union, может быть, что из-за это такое поведение?
0
Learx
1046 / 853 / 194
Регистрация: 31.03.2010
Сообщений: 2,490
23.03.2012, 13:19 4
покажите запрос.
где вы проверяете пуста ли dtFlats?
0
NatNiM
0 / 0 / 1
Регистрация: 01.05.2009
Сообщений: 68
23.03.2012, 14:28  [ТС] 5
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
serg42
118 / 100 / 7
Регистрация: 14.02.2010
Сообщений: 263
23.03.2012, 15:20 6
Весь этот ужас передается на сервак, или процедура вызывается?
0
Learx
1046 / 853 / 194
Регистрация: 31.03.2010
Сообщений: 2,490
23.03.2012, 15:33 7
*тихий ужас* а проще запрос нельзя сделать?

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

ну если нельзя, то советую убрать все join и добавлять по одному постепенно, тогда сможете поймать где ошибка.
Спасибо. Последовала вашему совету, нашла ошибку. Во втором join неверно запсиан формат даты.
0
23.03.2012, 16:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2012, 16:05

Как из одного datatable перенести столбец в другой datatable?
Здравствуйте! Кто может подсказать: как из одного datatable перенести столбец...

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

Разграниченный вход: неверное чтение из БД
Из таблицы берутся данные логина и пароля,так же в таблице есть логические...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru