Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для Vinemax
149 / 117 / 10
Регистрация: 12.09.2011
Сообщений: 785

Пустые строки в DataTable

20.10.2013, 07:18. Показов 2297. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!

Помогите, пожалуйста, решить такую проблему... Подключаюсь к своей базе данных MySQL, находящейся на удаленном сервере, и мне нужно загрузить все данные из одной таблицы этой базы в свою DataTable. Делаю так:

VB.NET
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
    Public Sub GetAllRows(Table As DataTable)
 
        Try
            Dim connection As New MySqlConnection(" строка подключения ")
 
            connection.Open()
 
            Dim command As New MySqlCommand
 
            command.Connection = connection
 
            command.CommandText = "SELECT * FROM `" & Table.TableName & "`"
 
            command.ExecuteNonQuery()
 
            Dim adapter As New MySqlDataAdapter(command)
 
            adapter.AcceptChangesDuringFill = True
 
            adapter.Fill(Table)
 
        Catch ex As Exception
 
        End Try
 
    End Function
После выполнения этого кода получается, что моя DataTable заполняется строками, но совершенно пустыми. Т.е. в админке phpMyAdmin в этой таблице 38 строк с различными данными, выполняю этот код и... приходит ровно 38 пустых строк, т.е. без данных.

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

DataTable: удалить пустые столбцы
Добрый день! Выгружаю данные из БД в DataTable. Некоторые столбцы могут быть пустыми. Хочу их удалить перед выводом...

Данные из WORD таблицы в DataTable пустые
Всем привет. Подскажите, пожалуйста, вытаскиваю данные из таблицы в Worde в DataTable и пытаюсь их добавить в БД sql запросом. Но, судя...

Нужно, чтобы переносились из одного stringgrid в другой. Переносится, но на те же строки и образуются пустые строки
Прикрепляю код. Помогите пожалуйста. Я в DElphi новичок var i: integer; begin StringGrid2.Show; ...

7
 Аватар для dimsaratov
356 / 295 / 78
Регистрация: 02.10.2013
Сообщений: 476
Записей в блоге: 5
21.10.2013, 21:53
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Function GetAllRows() as DataTable
    Dim result As DataTable
    Dim rows as Integer
    Try
            Dim connection As New MySqlConnection(" строка подключения ")
            Dim adapter As New MySqlDataAdapter()
            Dim aDataSet as New DataSet
            adapter.SelectCommand = New MySqlCommand("SELECT * FROM xxxxxxx", connection)
            rows=adapter.Fill(aDataSet, "TableName")
            result=aDataSet.Tables("TableName")
            MessageBox.Show ("Загруженно: " & rows & " строк")
    Catch ex As Exception
            MessageBox.Show (ex.Message)
    End Try
    Return result
End Function
1
 Аватар для Vinemax
149 / 117 / 10
Регистрация: 12.09.2011
Сообщений: 785
23.10.2013, 13:24  [ТС]
dimsaratov, всё равно приходят пустые строки. Т.е. отображается их в DataGridView ровно столько, сколько на сервере, но все пустые

Добавлено через 5 часов 23 минуты
заметил прикол, что в моем DataSet есть другая таблица... так вот, в нее данные четко загружаются и моим способом, и способом, который dimsaratov описал... а вот в первую таблицу просто пустые строки приходят... не пойму в чем дело, ведь, глядя на админку базы на сервере, там есть куча данных
0
 Аватар для XIST
1962 / 1072 / 148
Регистрация: 01.10.2009
Сообщений: 3,612
Записей в блоге: 1
23.10.2013, 18:33
А ключ есть в таблице?
0
 Аватар для dimsaratov
356 / 295 / 78
Регистрация: 02.10.2013
Сообщений: 476
Записей в блоге: 5
23.10.2013, 19:16
Если найдешь решение отпишись у меня похожая ситуация, из Exel приходят только поля(ячейки) с текстом а поля с числовыми значениями приходят пустыми
0
 Аватар для XIST
1962 / 1072 / 148
Регистрация: 01.10.2009
Сообщений: 3,612
Записей в блоге: 1
23.10.2013, 20:35
Цитата Сообщение от Vinemax Посмотреть сообщение
приходит ровно 38 пустых строк, т.е. без данных.
А где видите, что они пустые?
0
 Аватар для Vinemax
149 / 117 / 10
Регистрация: 12.09.2011
Сообщений: 785
24.10.2013, 09:52  [ТС]
DM_AND, ну у меня есть мной разработанная действующая программа Учета машин для автопарка. Заказчик ею уже почти год успешно пользуется, но она работала локально, была только возможность обмена всей базой по FTP по запросу - Передать/Получить. База вся это DataSet с двумя не связанными между собой DataTable. Эти DataTable в свою очередь через BindingSource подключены к DataGridView, которая располагается в окне программы. Подключение идет стандартно:

VB.NET
1
2
3
BindingSource1.DataSource = DsБаза
BindingSource1.DataMember = "tblОсновная"
Grid1.DataSource = BindingSource1
сохранение и считывание всей базы локально делал посредством ReadXml и WriteXml, т.е. никаких хитростей.

А вот теперь у меня просят сделать одновременный удаленный доступ к базе с нескольких компьютеров. Я зарегистрировал хост с MySQL, выгрузил туда эти мои таблицы со всеми данными - прямо из программы (выгрузка успешная, потому что в phpMyAdmin все эти данные видны, значит подключение в программе делаю верно). Но... когда делаю запрос в программе на получение таблицы с хоста, в пустую DataTable приходят ровно 38 строк, которых там и есть 38, но они без данных - просто пустые ячейки в DataGridView, то есть как будто бы схема пришла, а данные нет
0
 Аватар для Vinemax
149 / 117 / 10
Регистрация: 12.09.2011
Сообщений: 785
25.10.2013, 11:17  [ТС]
Нашел в чем причина, только совершенно не пойму почему так происходит... Дело в том, что в мою DataTable загружаются почему-то дополнительные колонки, т.е. после выполнения DataAdaprer.Fill(DataTable) в этой моей DataTable становится ровно в два раза больше колонок, причем заполненных данными (посмотрел в режиме отладки), а учитывая, что новые колонки не привязаны к моей DataGridView, я и не вижу их.

Добавлено через 46 минут
еще одну интересную вещь увидел... новые столбцы добавляются из-за того, что при запросе имена столбцов приходят в какой-то непонятной кодировке - приходит вот такой столбец Íàçâàíèå, а должен придти Название, но... если запрос на получение таблицы сделать два раза подряд, то второй раз приходят правильные имена столбцов и в моей DataGridView всё отображается как надо

Добавлено через 31 минуту
в общем, вышел из положения так... после открытия подключения одноразово делаю:

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
            Dim command As New MySqlCommand
            Dim adapter As New MySqlAdapter
 
            command.Connection = connection
 
            command.CommandText = "SET NAMES CP1251"
            command.ExecuteNonQuery()
 
            command.CommandText = "SHOW TABLES"
 
            Dim T As New DataTable
 
            adapter.SelectCommand = command : adapter.Fill(T)
 
            T.Dispose()
после этого у меня все четко загружается во все таблицы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.10.2013, 11:17
Помогаю со студенческими работами здесь

Удалить пустые строки в ListBox и собрать строки вместе
Допустим в ListBox есть строки с пропуском: 1 asdf 2 qwerty 3 4 zxcvbb 5 6 uyuuty

Как в текстовый файл вставить пустые строки после каждой непустой строки, кроме последней?
Есть текстовый файл в котором n-е количество строк с записями. Надо после каждой строки с записями (кроме последней) вставить пустую...

Пустые строки
Есть файл /*Scott_Linberg Saifent_United

Удаление строки из DataTable
Хочу удалить строку из DataTable. Пишу вот так: filtr = "komu=10 and id_resurs=" +...

Удаление строки из DataTable
Всем привет. есть такое задание: есть таб контрол и есть дейт табле. удаляю 1 таб пейдж то удаляется соответственная строка. Например:...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru