Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 12.03.2011
Сообщений: 18

Ошибка обновления БД MySql через DataGridView

09.06.2012, 11:26. Показов 1491. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Очень нужна помощь. Сразу говорю, я не сильна в VB.
В общем, есть бд. Загружаю ее в datagridview. Все нормально. Пробую изменить строчку и обновить - не получается. Код ниже. Думаю, по коду все поймете

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Imports System
Imports System.Data.Odbc
Public Class bd
    Dim connection As New OdbcConnection("DRIVER={MySQL ODBC 3.51 Driver};" & "SERVER=95.215.0.248;" & "CharSet=cp1251;" & "DATABASE=klienty;" & _
       "UID=" & "PASSWORD=" & "OPTION=10")
    Dim adapter As New OdbcDataAdapter("SELECT * FROM klienty", connection)
    'Создаем DataTable, в которой будут храниться данные, полученные через DataAdapter.
    Dim kl As New DataTable("klienty")
 
    Private Sub bd_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        'Используем метод Fill, чтобы заполнить DataTable
        adapter.Fill(kl)
        'Помещаем данные из Datatable в DataGridView
        DataGridView1.DataSource = kl
    End Sub
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        adapter.Update(kl) 
    End Sub
End Class
Я пробовала это:
Dim dbCommandBuilder As New OdbcCommandBuilder(adapter)
adapter.UpdateCommand = dbCommandBuilder.GetUpdateCommand()

Не помогло. Подскажите, пожалуйста)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.06.2012, 11:26
Ответы с готовыми решениями:

Ошибка после обновления mysql
Добрый день! После обновления mysql при авторизации на сайте выдает ошибку: Вероятно что-то изменилось в синтаксисе mysql,...

Редактирование БД MySql через DataGridView
На форме есть ДатаГрид и кнопка. Посредством следующего запроса я обновляю данные в ДатаГрид и в БД. ДатаГрид перерисовывается с...

Редактирование таблицы MySQL через DataGridView
Всем доброго времени суток! У меня есть БД MySQL, данные в одной из таблиц мне нужно добавлять, удалять, редактировать с помощью...

4
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
09.06.2012, 13:54
Цитата Сообщение от MalishOK Посмотреть сообщение
Пробую изменить строчку и обновить - не получается.
Что значит не получается? Ошибку выдает? Если да, то какую?
0
0 / 0 / 0
Регистрация: 12.03.2011
Сообщений: 18
09.06.2012, 14:27  [ТС]
Да, ошибку выдает: Update requires a valid UpdateCommand when passed DataRow collection with modified rows. Т.е. получается, что-то не так с командой по обновлению, а что не так - я не знаю.
Вот когда посмотрела по форумам, то ошибка выше решалась через:
Visual Basic
1
2
Dim dbCommandBuilder As New OdbcCommandBuilder(adapter) 
adapter.UpdateCommand = dbCommandBuilder.GetUpdateCommand()
Но тогда у меня ошибка выходит:
ERROR [42000] [MySQL][ODBC 3.51 Driver][mysqld-5.1.49-3]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'заказа = '2012-03-06') AND (Сумма заказа = 1500))' at line 1 (это и есть та строчка, которую я редактирую)
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
09.06.2012, 14:37
Цитата Сообщение от MalishOK Посмотреть сообщение
получается, что-то не так с командой по обновлению, а что не так - я не знаю
скорее всего её нет
Цитата Сообщение от MalishOK Посмотреть сообщение
ошибка выше решалась через
этот код должен быть написан до вызова метода Fill(), в запросе Select должна участвовать только одна таблица, и в запросе обязательно должно быть ключевое поле
1
0 / 0 / 0
Регистрация: 12.03.2011
Сообщений: 18
09.06.2012, 16:47  [ТС]
Цитата Сообщение от nio Посмотреть сообщение
скорее всего её нет

этот код должен быть написан до вызова метода Fill(), в запросе Select должна участвовать только одна таблица, и в запросе обязательно должно быть ключевое поле
Поработала по этим направлениям. Наверное, что-то я намудрила в таблице) С ключевым полем. Когда попыталась найти решение, я создала новую таблицу. В ней все прекрасно работает))
На этом и остановлюсь. Столько парилась. Спасибо за подсказку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.06.2012, 16:47
Помогаю со студенческими работами здесь

Ошибка при отправке запроса MySQL через JDBC MySQL connector
При помощи Maven я вызываю зависимости Twilio и JDBC MySQL connector, и собираю .jar файл. У меня есть кнопка Update в моем GUI, когда я ее...

Обновление MySQL базы через datagridView, нарушение параллелизма
Иммется подключение к БД mysql, с помощью этой кнопки получаю результаты. Все ок. DataTable dt; MySqlDataAdapter...

Удаление/добавление/обновление строк в БД(Mysql) через dataGridView
Через процедуру заношу в dataGridView данные из таблицы: string sql = "call SubOrderList(@in_id)"; string...

Не удаётся установить обновления через Центр обновления Windows
После отката системы не получается обновиться через Центр обновления Windows. Поиск обновлений ведётся, достаточно долго, потом всё...

Не скачиваются обновления через центр обновления
Доброго времени суток! Недавно решил проверить наличие обновлений у себя на ноутбуке. Вроде как находит, но установить не получается -...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка 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 и т. д. Сборка примера Скачайте. . .
Использование 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