Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 235
1

работа с базой данных

10.02.2013, 18:44. Показов 1843. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
доброго времени суток. у меня возникла проблема. На форме расположен DataGrigView. в него загружаю таблицу из БД.mdb . Вношу изменения в поля Грида и при закрытии формы данные в базе обновляются. Грид состоит из 7-ми столбцов и 60 строк. как мне создать запрос на обновление всей таблицы в базе. Работаю в vb.net

Добавлено через 2 минуты
пробовал пример из faq, но он там я так понял применителен для одной строки
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2013, 18:44
Ответы с готовыми решениями:

Работа с базой данных
Добрый день. Допустим у меня есть некая база test.sql, которая лежит в C:\test.sql. Как к ней...

Работа с базой данных
Вопросов несколько накопилось.. 1.Как очистить таблицу базы данных?(Не набор данных DataSet а...

Работа с базой данных, созданной в MS Access
Всем здравствуйте. Задача переделать программу VB-6 (телефонный справочник), использующую базу...

Работа пользователя с базой данных Access
Здравствуйте! Такой вопросик: Вот наше меню VB.net(скриншот ниже прикреплю) есть таблица...

11
233 / 223 / 146
Регистрация: 19.03.2012
Сообщений: 369
10.02.2013, 19:20 2
А не подойдёт вариант обновления данных сразу после измененя ячейки?
Событие
VB.NET
1
DataGridView.CellEndEdit
Подпрограмма
VB.NET
1
2
3
4
5
6
7
8
9
10
    'процедура обновления БД
    Sub UpdateDB(ByVal TableName As String, ByVal Pole As String, ByVal KeyValue As Integer, ByVal Value As String)
        Conn = New OleDbConnection
        'создаём и открываем соединение с базой данных
        Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & BasePoot
        Comm = New OleDb.OleDbCommand("UPDATE [" & TableName & "] SET [" & Pole & "]='" & Value & "' WHERE  [kod]=" & KeyValue, Conn)
        Conn.Open()
        Comm.ExecuteNonQuery()
        Conn.Close()
    End Sub
0
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 235
10.02.2013, 19:29  [ТС] 3
как мне ее подключить
0
233 / 223 / 146
Регистрация: 19.03.2012
Сообщений: 369
10.02.2013, 19:54 4
Вставляете в свой код событие
VB.NET
1
2
3
4
5
6
7
8
    'Событие окончания изменения ячейки в БД
    Private Sub DataGridView_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView.CellEndEdit
            Try
                UpdateDB(Название таблицы в БД, sender.Columns(sender.CurrentCell.ColumnIndex).Name, sender.Item(0, sender.CurrentRow.Index).Value, sender.CurrentCell.Value)
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
    End Sub
которое происходит при окончании изменения содержимого яжейки. Вызавается ПП
VB.NET
1
2
3
4
5
6
7
8
9
10
    'процедура обновления БД
    Sub UpdateDB(ByVal TableName As String, ByVal Pole As String, ByVal KeyValue As Integer, ByVal Value As String)
        Conn = New OleDbConnection
        'создаём и открываем соединение с базой данных
        Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & BasePoot
        Comm = New OleDb.OleDbCommand("UPDATE [" & TableName & "] SET [" & Pole & "]='" & Value & "' WHERE  [kod]=" & KeyValue, Conn)
        Conn.Open()
        Comm.ExecuteNonQuery()
        Conn.Close()
    End Sub
, в которую надо передать название таблицы в БД (это указываете вы), название поля (передается по названию столбца, или сообщаете сами), обновляемое значение , уникальное имя столбца и номер строки в которой происходит изменение(у меня в 0 столбце счетчик строк).
0
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 235
10.02.2013, 20:07  [ТС] 5
вопрос такой. если у меня в гриде combobox и checkbox находятся, то как мне передавать их значения
0
233 / 223 / 146
Регистрация: 19.03.2012
Сообщений: 369
10.02.2013, 20:27 6
А заполняете грид сами или через
VB.NET
1
DataGridView.DataSource
0
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 235
10.02.2013, 20:28  [ТС] 7
через DataGridView.DataSource
0
233 / 223 / 146
Регистрация: 19.03.2012
Сообщений: 369
10.02.2013, 20:36 8
и название колонок устанавливается по названию полей БД
0
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 235
10.02.2013, 20:45  [ТС] 9
названия столбцов создал в гриде, задал свойства столбцам (textbox, checkbox, combobox). такие же свойства столбцов и в базе
0
233 / 223 / 146
Регистрация: 19.03.2012
Сообщений: 369
10.02.2013, 20:49 10
Только что нашел у себя БД с checkbox. Попробовал обновить - ругается.
Надо подумать насчет combobox и checkbox.
0
Заблокирован
10.02.2013, 22:31 11
А после SQL запроса на внесение изменений, в процедуру подключения к базе данных обратится не судьба? Дабы заново создать подключение с обновленными записями, или же по Grid обновление сделать...
0
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 235
10.02.2013, 22:37  [ТС] 12
по грид
0
10.02.2013, 22:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2013, 22:37
Помогаю со студенческими работами здесь

Работа с базой данных в составе ресурсов приложения
Здравствуйте! В задуманном мной проекте мне необходима работа с базой данных. Не хочется, чтобы...

Подключение и работа с базой данных MS Access 2007
Доброго времени суток. Очень нужна помощь. Есть база данный на Access 2007.Есть Studio 2013. бд...

Работа с базой данных acces, классами и массивами
не знаком с этой базой,требуется ввод данных в базу и их считывание.В задании нужно описать класс...

Работа с базой данных Access: Считать информацию с определенной ячейки
Я прочитал все разделы Лукина о БД... и не понял. Ничего не понял, как то оно все расплывчато (я...


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

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