Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для Интерн
7 / 7 / 2
Регистрация: 21.08.2012
Сообщений: 62

Не сохраняются изменения dataGridView в БД

21.08.2012, 15:27. Показов 1492. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Buenos días.
  • Есть кнопка при нажатии на которую программа должна сохранять в БД данные из dataGridView.

Код кнопки:
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
private void button2_Click(object sender, EventArgs e)
        {
   
                SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Properties.Settings.Default.BaseDan + @";Integrated Security=True;Connect Timeout=30;User Instance=True");
 
 
                SqlDataAdapter adapter = new SqlDataAdapter();
 
                // Create the SelectCommand.
                SqlCommand command = new SqlCommand("SELECT * FROM [BiosSpy_Тест 2_grups_products] " +
                    "WHERE id = @id, Группа = @Группа", conn);
 
                // Add the parameters for the SelectCommand.
                command.Parameters.Add("@id", SqlDbType.NChar, 5);
                command.Parameters.Add("@Группа", SqlDbType.NChar, 50);
 
                adapter.SelectCommand = command;
 
                // Create the InsertCommand.
                command = new SqlCommand(
                    "INSERT INTO [BiosSpy_Тест 2_grups_products] (Группа) " +
                    "VALUES (@Группа)", conn);
 
                // Add the parameters for the InsertCommand.
                command.Parameters.Add("@Группа", SqlDbType.NChar, 50, "Группа");
 
                adapter.InsertCommand = command;
 
                // Create the UpdateCommand.
                command = new SqlCommand(
                    "UPDATE [BiosSpy_Тест 2_grups_products] SET Группа = @Группа" +
                    "WHERE id = @id", conn);
 
                // Add the parameters for the UpdateCommand.
                command.Parameters.Add("@Группа", SqlDbType.Text, 50, "Группа");
                SqlParameter parameter = command.Parameters.Add(
                    "@id", SqlDbType.Int, 50, "id");
                parameter.SourceVersion = DataRowVersion.Original;
                adapter.UpdateCommand = command;
 
                // Create the DeleteCommand.
                command = new SqlCommand(
                    "DELETE FROM [BiosSpy_Тест 2_grups_products] WHERE id = @id", conn);
 
                // Add the parameters for the DeleteCommand.
                parameter = command.Parameters.Add(
                    "@id", SqlDbType.Int,5, "id");
                parameter.SourceVersion = DataRowVersion.Original;
 
                adapter.DeleteCommand = command;
                adapter.Update((DataTable)dataGridView5.DataSource);
 
        }
  • БД состоит из двух столбцов: id (int) и Группа (nChar).

  • Когда я добавляю строки и сохраняю в БД, то все хорошо.
  • Когда я Изменяю строки пишет ошибку - Необходимо объявить скалярную переменную "@ГруппаWHERE".
  • Когда я Удаляю строки пишет ошибку - Параметризованный запрос "(@id int)DELETE FROM [BiosSpy_Тест 2_grups_products] WHERE id = " ожидает параметр "@id", который не был указан.

Как исправить эти ошибки? Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.08.2012, 15:27
Ответы с готовыми решениями:

Не сохраняются изменения в БД
У меня есть БД с учениками (ID_ученика, Успеваемость, ФИО, Класс). на форме у меня есть текстовое поле "yspev". И в зависимости...

Не сохраняются изменения
scn.Open(); cmd.CommandText = "INSERT INTO employees (nomer, first_name, last_name) VALUES (" + Convert.ToInt16(textBox2.Text) + ", '" +...

Не сохраняются изменения в БД
Создал две формы. В Form1 добавил DataGridView для отображения данных моей базы Phones.mdb. В форме есть 4 кнопки. Работает, хоть и криво,...

1
16 / 16 / 5
Регистрация: 09.06.2015
Сообщений: 96
09.07.2016, 23:30
C#
1
2
3
command = new SqlCommand(
                    "UPDATE [BiosSpy_Тест 2_grups_products] SET Группа = @Группа" +
                    "WHERE id = @id", conn);
поменяйте
C#
1
2
3
4
int id = ...
command = new SqlCommand(string.Format(
                    "UPDATE [BiosSpy_Тест 2_grups_products] SET Группа = @Группа" +
                    "WHERE id = {0}",id), conn);
удостоверьтесь, что id присвоено значение

DELETE по аналогии
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.07.2016, 23:30
Помогаю со студенческими работами здесь

Не сохраняются изменения!
Народ в шаблоне не сохраняются изменения,даже на основе старых материалов! Что делать,как с таким безобразием бороться?

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

Не сохраняются изменения в БД
Я создал процедуру create procedure d_man @fio varchar(150), @age int as INSERT INTO .. ( ,) ...

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

Не сохраняются изменения в БД
Проблема такая , добавляю данные в базу на 3 форме, закрываю, ввожу новые данные в 1 форму все работает, информация присутствует. Проверяю...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru