Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
178 / 68 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
1

Как отобразить в DataGridView не таблицу а запрос?

01.09.2016, 04:52. Показов 1346. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем здравствуйте.
Есть база данных MSAccess, содержащая в себе одну таблицу и несколько запросов, сформированных непосредственно в базе данных, основанных на данных из этой же таблицы. В VB-6 я просто присваивал свойству RecordSource элемента управления Data имя запроса вместо имени таблицы и получал результат в связанном с Data элементе DataBoundGrid.
Имя БД: "Birthday.mdb"
Имя таблицы: "Kadr"
Имя запроса: "Ближайшие дни рождения"
Таблицу я вывожу так:
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
27
28
29
    Dim sSQL As String 'строка SQL-запроса
    Dim Con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & My.Application.Info.DirectoryPath & "\birthday.mdb") ' Переменная для подключения базы
    Dim SqlCom As OleDb.OleDbCommand ' Переменная для Sql запросов
    Dim DT As New Data.DataTable ' Таблица для хранения результатов запроса
    Dim DA As OleDb.OleDbDataAdapter ' Адаптер для заполнения таблицы после запроса
    Dim CB As OleDb.OleDbCommandBuilder 'это для последующего обновления таблиц в БД (сохранения изменений из DataGridView) 
   
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'заполняем DataGridView выбранными из таблицы базы данных записями
        sSQL = "SELECT * FROM [kadr]"
        fRet = fnDGVFill(sSQL, dgvBirthday)
End Sub
 
 Function fnDGVFill(ByVal sSQL As String, ByVal dgv As DataGridView) As Boolean 'функция заполнения DataGridView из таблицы базы данных согласно указанному SQL-запросу 
        Try
            DT.Clear() 'Очищаем таблицу
            SqlCom = New OleDb.OleDbCommand(sSQL, Con) ' Указываем строку запроса и привязываем к соединению
            Con.Open() ' Открываем соединение
            SqlCom.ExecuteNonQuery() 'Выполняем запрос
            DA = New OleDb.OleDbDataAdapter(SqlCom) 'Через адаптер получаем результаты запроса
            DA.Fill(DT) ' Заполняем таблицу результатами
            dgv.DataSource = DT ' Привязываем Грид к источнику данных
            CB = New OleDb.OleDbCommandBuilder(DA)  'это для последующего обновления таблиц в БД (сохранения изменений из DataGridView) 
            Con.Close() ' Закрываем соединение
        Catch ex As Exception
            Return False
        End Try
        Return True
End Function
Вложения
Тип файла: rar BirthDay.rar (44.5 Кб, 6 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.09.2016, 04:52
Ответы с готовыми решениями:

Как в dataGridView отобразить таблицу из DataSet?
Основной вопрос, почему по выражению dataGridView1.DataSource = ds1.Tables; в "dataGridView" не...

Как отобразить таблицу из Базы данных ms access в DataGridView программным путём?(написав всё в коде)
Здравствуйте. Как отобразить таблицу из Базы данных ms access в DataGridView программным...

Нужно отобразить результаты поиска в таблицу dataGridView
Здравствуйте, помогите пожалуйста реализовать поиск и отобразить результаты поиска во вторую...

Отобразить в dataGridView одну таблицу и один столбец другой
Столкнулся с такой проблемой! У меня один dataGriview. Туда я хочу запихнуть две таблице, но одну...

4
Модератор
Эксперт .NET
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
01.09.2016, 07:02 2
а в чем вопрос то???
1
178 / 68 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
01.09.2016, 08:42  [ТС] 3
Цитата Сообщение от Yury Komar Посмотреть сообщение
в чем вопрос
в базе данных (mdb-файле) есть запрос с именем "Ближайшие дни рождения" из таблицы "Kadr".
Как в DataGridView загрузить результат работы этого запроса?

Добавлено через 25 минут
Yury Komar, я кажется сам догадался:
'заполняем DataGridView выбранными из таблицы базы данных записями
VB.NET
1
2
sSQL = "SELECT * FROM [Ближайшие дни рождения]"
fRet = fnDGVFill(sSQL, dgvBirthday)
0
Модератор
Эксперт .NET
4203 / 3287 / 497
Регистрация: 27.01.2014
Сообщений: 6,033
01.09.2016, 08:44 4
кажется?
0
178 / 68 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
01.09.2016, 08:56  [ТС] 5
Yury Komar, точно нашёл. Всё работает.
0
01.09.2016, 08:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.09.2016, 08:56
Помогаю со студенческими работами здесь

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

Как записать таблицу с форм (DataGridView) в таблицу БД (MS SQL Server)?
вытягиваю данные из БД Код: public ArrayList GetAllDishs() { ArrayList...

Как отобразить колонку в DataGridView
Не могу найти инфы по данному случаю. Во время добавления в DataSet многоуровневого XML файла,...

Как отобразить данные в datagridview?
Подскажите пожалуйста как отобразить данные в datagridview, если данные берутся из БД с помощью...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru