Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
2 / 2 / 0
Регистрация: 12.06.2013
Сообщений: 6

Необходимо в C# вывести в datagridview несколько таблиц из Access

14.06.2013, 03:39. Показов 4330. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите люди умные!!! В общем есть 3 таблицы. Студенты, Курсовые и Предметы. Из таблицы Студенты нужно взять 3 поля - Фамилия, Имя, Отчество. В таблицах Курсовые и Предметы перечислены все курсовые, предметы и оценки. Так же в каждой таблице есть связанное ключевое поле id. Запрос должен выдать такие столбцы Фамилия | Имя | Отчество | (все столбцы из таблицы Курсовые, кроме id) | (все столбцы из таблицы предметы, кроме id). Делаю через INNER JOIN. Перечислять все столбцы таблиц Курсовые и Предметы ОЧЕНЬ долго и они будут меняться.

C#
1
2
3
4
5
6
7
8
OleDbDataAdapter fio = new OleDbDataAdapter(@"
SELECT Студенты.Фамилия, Студенты.Имя, Студенты.Отчество, Предметы.*, Курсовые.* 
FROM Студенты
INNER JOIN Предметы ON Предметы.id = Студенты.id
INNER JOIN Курсовые ON Курсовые.id = Студенты.id", connection);
            DataTable dtfio = new DataTable();
            fio.Fill(dtfio);            
            dataGridView1.DataSource = dtfio;
Но у меня ошибка: "Ошибка синтаксиса (пропущен оператор) в выражении запроса 'Предметы.id = Студенты.id
INNER JOIN Курсовые ON Курсовые.id = Студенты.id'.", скриншот ниже.

Помогите плиз. Пишу дипломку, не успеваю нифига, ещё и такие косяки((((
Миниатюры
Необходимо в C# вывести в datagridview несколько таблиц из Access  
Вложения
Тип файла: rar db1.rar (101.0 Кб, 25 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.06.2013, 03:39
Ответы с готовыми решениями:

В один DataGridView загрузить несколько таблиц БД Access
Как реализовать, чтобы в одном DataGrid отображалось несколько таблиц с БД Access. т.е у меня допустим заявок около 1000 шт будет, в них...

Добавить несколько таблиц в одну в DataGridView
Есть несколько таблиц: школьник и класс https://yadi.sk/i/tbon0AFrEqMyxA В таблице школьник есть поле класс (внешний ключ из таблицы...

Несколько таблиц в MS Access
Доброго времени суток. У меня такая проблема. Я подключил базу данных с MS Access по видеоуроку, но в нем была база данных состоящая...

4
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
14.06.2013, 09:21
stron333, проверь после каждой строки запроса наличие пробелов. Попробуй выполнить запрос в самом Access.

Даже если синтаксис правильным будет, запрос ничего не вернет или вернет бред. Как могут быть равны идентификаторы различных сущностей? Пересмотри условие JOIN.
0
 Аватар для kodv
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
14.06.2013, 10:06
Цитата Сообщение от nio Посмотреть сообщение
Как могут быть равны идентификаторы различных сущностей?
Запросто, если связь 1 к 1. Но в данном случае топикстартер явно указал, что связь между сущностью Студенты и другими сущностями 1 ко много. Поэтому здесь явно ошибка.


stron333, если у вас БД MS Access, то учитывайте то, что JOIN'ы Access интерпретирует по своему. Они должны находится в скобках. Если есть возможность, лучше через конструктор в Access'е запрос постройте, а затем подкорректируйте его так, как вам надо.

Добавлено через 3 минуты
Примерно так должны выглядеть JOIN'ы в Access'e
Цитата Сообщение от http://office.microsoft.com/ru-ru/access-help/HA001231487.aspx
SELECT поля
FROM таблица1 INNER JOIN
(таблица2 INNER JOIN [( ]таблица3
[INNER JOIN [( ]таблицаX [INNER JOIN ...)]
ON таблица3.поле3 оператор_сравнения таблицаX.полеX)]
ON таблица2.поле2 оператор_сравнения таблица3.поле3)
ON таблица1.поле1 оператор_сравнения таблица2.поле2
1
2 / 2 / 0
Регистрация: 12.06.2013
Сообщений: 6
14.06.2013, 19:00  [ТС]
Спасибо. Да думаю скорее всего беда в скобках. Уже сделал проще

C#
1
2
3
4
5
OleDbDataAdapter fio = new OleDbDataAdapter(@"
SELECT Студенты.Фамилия, Студенты.Имя, Студенты.Отчество, Предметы.*, Курсовые.* 
FROM Студенты, Предметы, Курсовые
WHERE Студенты.id = Предметы.id
AND Студенты.id = Курсовые.id", connection);
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
14.06.2013, 22:26
Цитата Сообщение от stron333 Посмотреть сообщение
Уже сделал проще
ой и хлебнешь ты горя с таким запросом....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.06.2013, 22:26
Помогаю со студенческими работами здесь

Разбить считанные данные в dataGridView на несколько таблиц
Доброго времени соток! Прошу помочь с одной задачей. Есть одни текстовый файл в котором сохранена несколько справочников нужно...

Объединение таблиц в Access и вывод в DataGridView
Обьестните что к чему и в вывести в с# в грид

Отображение данных в DataGridView из связанных таблиц Access
Привет Всем! Есть база на Acсess из двух таблиц. Товары(код товара, группа товара, наименование) и группа товаров(код группы, название)....

Массовое добавление данных в несколько таблиц Access
Добрый день, форумчане! Есть БД со следующей структурой Необходимо с помощью скрипта добавить всем организациям счета. В...

Access русские названия таблиц в несколько строк
Добрый день! Пишу доп.оболочку для существующей базы в аксесе, там имеются таблицы, названия который в несколько слов, причем на русском...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
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 и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru