Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/49: Рейтинг темы: голосов - 49, средняя оценка - 4.69
 Аватар для Plastik-X
4 / 4 / 1
Регистрация: 03.03.2008
Сообщений: 34

Получить список таблиц c OleDbConnection

05.07.2010, 22:59. Показов 10218. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не судите строго за глупые вопросы я ток начинаю изучать C# . Долго искал как же всетаки выдрать список таблиц и вот , то получилост. Большая прозьба полее опытных участников форума помотреть и дать совет .

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
try
                {
                    OleDbConnection OleDbConnection = new OleDbConnection(myConnectionString);
                    OleDbConnection.Open();
 
                    DataTable schemaTable;
                    schemaTable = OleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
 
                    OleDbCommand OleDbCommand;
                    OleDbDataReader OleDbDataReader;
                    DataSet DataSet = new DataSet();
 
                    
                    for (int i = 0; i < schemaTable.Rows.Count-1; i++)
                    {
                        
                    String strTable = schemaTable.Rows[i]["TABLE_NAME"].ToString();
                   
                    OleDbCommand = new OleDbCommand("SELECT *FROM " + strTable,OleDbConnection);
                    OleDbDataReader = OleDbCommand.ExecuteReader();
                    DataSet.Tables.Add(strTable);
                    OleDbDataAdapter OleDbDataAdapter = new OleDbDataAdapter("SELECT *FROM " + strTable, OleDbConnection);
                    OleDbDataAdapter.Fill(DataSet, strTable);
                    
                    //MessageBox.Show(strTable);
                    }
                    dataGrid.DataSource = DataSet.DefaultViewManager;
                    
                    OleDbConnection.Close();
 
                }
                catch(Exception ex)
                {
                   MessageBox.Show(ex.Message,"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
 
            }
Подскажите. Вот этот блок как мне кажется либо OleDbCommand , либо OleDbDataAdapter надо выкинуть. Как быть ?

C#
1
2
3
4
5
                    OleDbCommand = new OleDbCommand("SELECT *FROM " + strTable,OleDbConnection);
                    OleDbDataReader = OleDbCommand.ExecuteReader();
                    DataSet.Tables.Add(strTable);
                    OleDbDataAdapter OleDbDataAdapter = new OleDbDataAdapter("SELECT *FROM " + strTable, OleDbConnection);
                    OleDbDataAdapter.Fill(DataSet, strTable);
Да и еще назрел вопрос , все вроде бы работает но вот связи меду таблиц не загрузились ! Как их загружают ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.07.2010, 22:59
Ответы с готовыми решениями:

Получить список таблиц c MySQL
Здраствуйте, как сделать запрос &quot;SHOW TABLES;&quot; в c# и что за тип данных вернется? Спасибо

Получить список таблиц из БД MS SQL Server
Хочу получит список таблиц из БД но не получается. Как правильно делать ?? string connStr = @&quot;Data Source=HOME\SQLEXPRESS; ...

Как получить список таблиц из базы данных?
C#: как получить список таблиц из базы данных? Допустим есть база test1 в ней таблицы q1, q2, q3. Как допустим в richtextbox вывести...

8
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
05.07.2010, 23:13
Посмотри в сторону запроса:
SQL
1
SHOW TABLES
0
 Аватар для Plastik-X
4 / 4 / 1
Регистрация: 03.03.2008
Сообщений: 34
05.07.2010, 23:21  [ТС]
OleDbCommand OleDbCom= new OleDbCommand("SHOW TABLES", OleDbConnection);
возникает ошибочная инструкция SQL не нравится ему "SHOW TABLES" если я правельно тебя понял !
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
05.07.2010, 23:25
Понял ты меня правильно. Я так понимаю, что ты подключаешься к базе Access? Возможно, что именно accessу не нравится данная команда.
0
 Аватар для Plastik-X
4 / 4 / 1
Регистрация: 03.03.2008
Сообщений: 34
05.07.2010, 23:36  [ТС]
Да пробую на базе Access . Я думал OleDbConnection без разницы к чему подключаться !

А что по поводу связей между таблицами скажете , почемо они не сохранились ?
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
05.07.2010, 23:52
kirill29, попробовал "SHOW TABLES" на MS SQL SERVER 2005 Express, не работает
Это может приблуда новых версий ?
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
06.07.2010, 00:38
В общем, немного почитав и порывшись в дебрях интернета, нашел такое решение:
C#
1
2
3
4
5
6
7
8
OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source = question_answer.mdb;");
            connection.Open();
            DataTable dt = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
            foreach (DataRow item in dt.Rows)
            {
                listBox1.Items.Add((string)item["TABLE_NAME"]);
            }
            connection.Close();
Добавлено через 12 минут
Цитата Сообщение от nio Посмотреть сообщение
Это может приблуда новых версий ?
Данный запрос применяется в MySQL. Вот его синтаксис: SHOW TABLES

Добавлено через 39 секунд
Видимо, для MS SQL данный запрос не применим
2
 Аватар для Plastik-X
4 / 4 / 1
Регистрация: 03.03.2008
Сообщений: 34
06.07.2010, 00:41  [ТС]
Да этот вариант по сравнению с моим вообще крутатень ! Завтра опробую . А по связям между таблиц отдельных примочек нет случайно ? Когда через VS создаеш DataSource все работает отлично , а програмным методом все таблицы загружаются , а связи между ними нет .
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
06.07.2010, 00:53
Цитата Сообщение от Plastik-X Посмотреть сообщение
а програмным методом все таблицы загружаются , а связи между ними нет .
ИМХО почитай про DataRelation
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.07.2010, 00:53
Помогаю со студенческими работами здесь

Проверить наличие таблицы в бд или получить список всех таблиц
Всем привет, нужно проверить содержит ли бд таблицу по ее названию. Как лучше это сделать? через получение списка таблиц и поиска в нем....

компонент OleDbConnection
глупый вопрос, но все же. у меня visual studio 2008. не могу найти компонент OleDbConnection ))))

Работа с параметрами в OLEDBConnection
Привет всем! Вроде все сделал по инструкции: OleDbConnection ExcelConnection = new OleDbConnection ...

Список таблиц
Из своего приложения подключаюсь к базе данных Access. Нужно получить список таблиц в ней. Потом список полей каждой таблицы. ЧТО Я ДЕЛАЛ...

Список таблиц
Как занести в comboBox список таблиц?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru