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

Вывод двух связанных таблиц в datagridview

27.04.2014, 16:21. Показов 4256. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

нашел интересную ссылку про вывод связанных таблиц http://sernam.ru/book_cbd.php?id=43


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
56
57
58
59
60
61
62
63
64
65
66
67
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb; 
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"CDdb.mdb";
        string commandText = "SELECT [Код туриста], Фамилия, Имя, Отчество FROM Туристы";
        string commandText2 = "SELECT [Код туриста], [Серия паспорта], Город, Страна, Телефон, Индекс " +
            "FROM [Информация_о_туристах]";
 
        public Form1()
        {
            InitializeComponent();
 
            OleDbConnection conn = new OleDbConnection(connectionString);
            OleDbCommand myCommand = new OleDbCommand();
            myCommand.Connection = conn;
            myCommand.CommandText = commandText;
 
 
            OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
            dataAdapter.SelectCommand = myCommand;
            conn.Open();
 
 
            DataSet ds = new DataSet();
            dataAdapter.TableMappings.Add("Table", "Туристы");
            dataAdapter.Fill(ds);
 
 
            OleDbCommand myCommand2 = new OleDbCommand();
            myCommand2.Connection = conn;
            myCommand2.CommandText = commandText2;
            OleDbDataAdapter dataAdapter2 = new OleDbDataAdapter();
 
 
            dataAdapter2.SelectCommand = myCommand2;
            dataAdapter2.TableMappings.Add("Table", "Информация_о_туристах");
            dataAdapter2.Fill(ds);
 
            DataColumn dcTouristsID = ds.Tables["Туристы"].Columns["Код туриста"];
            DataColumn dcInfoTouristsID = ds.Tables["Информация_о_туристах"].Columns["Код туриста"];
 
 
 
            DataRelation dataRelation = new DataRelation("Дополнительная информация", dcTouristsID, dcInfoTouristsID);
            ds.Relations.Add(dataRelation);
 
 
 
 
            DataViewManager dsview = ds.DefaultViewManager;
            dataGrid1.DataSource = dsview;
            dataGrid1.DataMember = "Туристы";
            conn.Close();
        }
    }
}

проект по примеру прилагаю во вложении.

всё делаю по примеру. в dataset попадают 2 таблицы, но результат всё равно не тот. Около записи в родительской таблице не появляются "+".
Подскажите что тут не так?
Вложения
Тип файла: rar WindowsFormsApplication1.rar (54.6 Кб, 56 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.04.2014, 16:21
Ответы с готовыми решениями:

Вывод двух связанных таблиц данных в один Datagridview
Если можете подскажите, очень надо:wall: Есть в БД SQL связанные таблицы: 1. Services_direction Столбцы: id_service_direction ...

Вывод двух связанных таблиц данных в один элемент DataGridView
Добрый день нашел интересную ссылку про вывод связанных таблиц http://sernam.ru/book_cbd.php?id=43 База данных своя, не как в этом...

Вывод двух связанных таблиц данных в два элемента DataGridView
Добрый день господа. Возникла маленькая проблема с программой при выводе связанных таблиц. DataGridView выводит требуемую таблицу, но не...

2
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
27.04.2014, 21:14
Ты используешь DataGridView, а "плюсики" эти были у DataGrid. Это такой древний компонент, который в первом Framework присутствовал.

Добавлено через 6 минут
Используй 2 Grid'а. Для основной и для подчинённой таблиц:
C#
1
2
3
4
            dataGridView1.DataSource = ds.DefaultViewManager;
            dataGridView1.DataMember = "Туристы";
            dataGridView2.DataSource = ds.DefaultViewManager;
            dataGridView2.DataMember = "Туристы.Дополнительная информация";
0
2 / 2 / 1
Регистрация: 23.11.2013
Сообщений: 61
27.04.2014, 21:59  [ТС]
nmcf, спасибо, работает, но хотелось бы использовать 1 datagridview именно с +.

Может быть у кого-нибудь есть еще мнения на этот счет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.04.2014, 21:59
Помогаю со студенческими работами здесь

Вывод связанных таблиц в datagridview
Помогите, пожалуйста, мне вот в каком вопросе: На форме находится datagridview. Есть таблица1(пустая) с полями: ID, Подразделения,...

Вывод связанных таблиц в DataGridView
Здравствуйте. Имеются три таблицы: Books (со столбцами ID, Name, Author, Genre), Authors (со столбцами ID, Name, Surname), Genres (со...

Представление в DataGridView данных из двух связанных таблиц
Здравствуйте. Есть DataSet, в нем две связанных таблицы, например таблица Order, в которой есть внешний ключ ClientID и, соответственно,...

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

Вывод данных из двух таблиц в DataGridView
Привет Есть база, в ней 3 таблицы. В 1 таблице хранятся ФИО и ID. Во 2 таблице ID и операция, т.е. связь по полю ID. Делаю запрос (в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru