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

Не обновляется БД при добавлении записи

19.03.2012, 13:32. Показов 3731. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот код добавления:

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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
            try
            {               
                string commandString = @"Insert into dbo.Должности 
                                        Values(@id, 
                                        @name,
                                        @kol_m,
                                        @kol_z_m,
                                        @kol_s_m,
                                        @okl
                                        )";
                conn.Open();
                SqlCommand sqlInsert = new SqlCommand(commandString, conn);
 
                SqlParameter param1 = new SqlParameter(); //объявляем объект класса SqlParameter
                param1.ParameterName = "@id";             //задаем имя параметра
                switch (comboBoxPod.SelectedIndex)       //задаем значение параметра
                {
                    case 0: param1.Value = 8;
                        break;
                    case 1: param1.Value = 5;
                        break;
                    case 2: param1.Value = 14;
                        break;
                    case 3: param1.Value = 6;
                        break;
                    case 4: param1.Value = 4;
                        break;
                    case 5: param1.Value = 1;
                        break;
                    case 6: param1.Value = 3;
                        break;
                    case 7: param1.Value = 10;
                        break;
                    case 8: param1.Value = 12;
                        break;
                    case 9: param1.Value = 13;
                        break;
                    case 10: param1.Value = 7;
                        break;
                    case 11: param1.Value = 9;
                        break;
                    case 12: param1.Value = 11;
                        break;
                    case 13: param1.Value = 2;
                        break;
                }
                param1.SqlDbType = SqlDbType.Int;                //задаем тип параметра
                sqlInsert.Parameters.Add(param1);                //передаем параметр объекту класса SqlCommand
 
                SqlParameter param2 = new SqlParameter();
                param2 = new SqlParameter();
                param2.ParameterName = "@name";
                param2.Value = TBname_dol.Text;
                param2.SqlDbType = SqlDbType.Text;
                sqlInsert.Parameters.Add(param2);
 
                SqlParameter param3 = new SqlParameter();
                param3 = new SqlParameter();
                param3.ParameterName = "@kol_m";
                param3.Value = Convert.ToInt32(TBkol_rm.Text);
                param3.SqlDbType = SqlDbType.Int;
                sqlInsert.Parameters.Add(param3);
 
                SqlParameter param4 = new SqlParameter();
                param4 = new SqlParameter();
                param4.ParameterName = "@kol_z_m";
                param4.Value = 0;
                param4.SqlDbType = SqlDbType.Int;
                sqlInsert.Parameters.Add(param4);
 
                SqlParameter param5 = new SqlParameter();
                param5 = new SqlParameter();
                param5.ParameterName = "@kol_s_m";
                param5.Value = Convert.ToInt32(TBkol_rm.Text);
                param5.SqlDbType = SqlDbType.Int;
                sqlInsert.Parameters.Add(param5);
 
                SqlParameter param6 = new SqlParameter();
                param6 = new SqlParameter();
                param6.ParameterName = "@okl";
                param6.Value = Convert.ToInt32(TB_okl.Text);
                param6.SqlDbType = SqlDbType.Int;
                sqlInsert.Parameters.Add(param6);
 
                sqlInsert.ExecuteNonQuery();                        
                
                adapter.InsertCommand = sqlInsert;
 
                adapter.Update(kadDataSet.Tables["Должности"]);
                kadDataSet.AcceptChanges();
                conn.Close();
                
                MessageBox.Show("Новая должность добавлена!");
                  }
            catch (SqlException ex)
            {
                kadDataSet.RejectChanges();
                MessageBox.Show(ex.Message);
                }
Возможно кривой... В dataGrid измнения есть, а вот в БД совсем никак... Помогите исправить ошибку, пожалуйста.

Добавлено через 12 часов 27 минут
Неужели никто не поможет?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.03.2012, 13:32
Ответы с готовыми решениями:

При добавлении записи не обновляется форма
Добавляю запись через кнопку и отдельную форму, в таблице информация обновляется а в форме с выводом таблицы нет

[WPF] Не обновляется DataGrid при добавлении данных!
У меня есть Datagrid который берет строки из класса Patient Класс Patient хранит в себе полученные из сети по json строки. При...

Изменение записи в таблице при добавлении записи в другую таблицу
Есть две таблицы TProduct(товары) и TIncoming(приход) с полями "наименование" и "количество". Нужно, чтобы при добавлении строки в...

27
1 / 1 / 1
Регистрация: 20.02.2010
Сообщений: 65
20.03.2012, 00:40  [ТС]
Студворк — интернет-сервис помощи студентам
Я это все в любом случае перепишу, это черновой вариант а ля "Лишь бы работало" =)

Добавлено через 34 минуты
И все же это похоже на злую шутку. Пересоздала БД, пересоздала проект. Та же песня. В грид добавляется, в Server Explorer не вижу новой записи.

Добавлено через 11 минут
Возможно, я чего-то не понимаю. Запустила exe, добавила пару новых записей. Закрыла, запустила, записи висят. Ради интереса перегрузила комп. Запустила, записи висят. Открыла проект, посмотрела в Server Explorer, записи нет! Запустила программу, запись есть.

Через пару компиляций запись пропала..
0
124 / 106 / 7
Регистрация: 14.02.2010
Сообщений: 263
20.03.2012, 11:10
Цитата Сообщение от Белая волчица Посмотреть сообщение
Возможно, я чего-то не понимаю. Запустила exe, добавила пару новых записей. Закрыла, запустила, записи висят. Ради интереса перегрузила комп. Запустила, записи висят. Открыла проект, посмотрела в Server Explorer, записи нет! Запустила программу, запись есть.
Через пару компиляций запись пропала..
Ну я же написал выше, уберите опцию копирования файла базы в выходную папку.
0
1 / 1 / 1
Регистрация: 20.02.2010
Сообщений: 65
20.03.2012, 11:38  [ТС]
А как это сделать?
0
124 / 106 / 7
Регистрация: 14.02.2010
Сообщений: 263
20.03.2012, 12:20
В окне "обозреватель решений" найдите mdf файл базы, в его свойствах есть этот пункт. А так база копируется в папку bin/debug, bin/release. Здесь нет ошибки, просто имейте ввиду, что работаете Вы именно с той базой, что в папке со скомпеленной прогой.
1
1 / 1 / 1
Регистрация: 20.02.2010
Сообщений: 65
20.03.2012, 12:51  [ТС]
Так, ошибку поняла, в той базе которая находится в bin/debug новые записи прекрастно себе поживают. А работаю я оказывается с той, которая лежит недалеко.. Спасибо Вам))

Ооо, еще один вопрос. Мне необходимо чтобы БД лежала именно в bin/debug. Это теперь переподключать надо?
0
 Аватар для _katon_
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
20.03.2012, 12:58
Чтобы посмотреть с какой базой вы работаете нужно изучить содержимое файла app.exe.config (где app - название проетка). В этом файла должен быть атрибут ConnectionString по которому приложение подключается к файлу БД.
1
1 / 1 / 1
Регистрация: 20.02.2010
Сообщений: 65
21.03.2012, 00:07  [ТС]
Огромное спасибо Вам! Наконец-то разобралась в этом)
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
21.03.2012, 17:36
serg42,
OFFTOP
C#
1
2
3
4
5
6
try
{
using (SqlConnection conn = new SqlConnection()
{
}
} catch (Exception ex) { MessageBox.Show(ex.ToString()); }
Не по теме:

А using разве не перехватит исключение?
Да, using коррекно отлавливает и обрабатывает ошибку, потому у меня нет ни Close() для подключения ни Rollback для транзакции, если её использую, однако в случае ошибки я не вижу сообщения об ошибке, а в отладчике ее ловить сложно. потому и использую try..catch чтоб увидеть ошибку, не знаю как коррекнее это сделать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2012, 17:36

Дублирование записи в определенном поле при добавлении новой записи
Добрый день. Подскажите пожалуйста, есть у меня запрос на создание таблицы где в созданной таблице в первом поле проставляется значение 2....

MS Sql: при добавлении новой записи, информация из первой записи в таблице исчезает
Ошибка заключается в том, что при добавлении новой записи(через программу), информация из первой записи в таблице исчезает. При добавлении...

Нарушение прав доступа при записи по адресу 0х00000000 при добавлении элемента структуры
прошу помощи, выбивает эту ошибку при добавлении элемента структуры, также приму во внимание другие исправления кода, для работы просто...

Ошибка при добавлении записи в БД
Подскажите, что означает эта ошибка при добавление записи в БД: Warning: mysql_query(): 2 is not a valid MySQL-Link resource in...

Ошибка при добавлении записи в БД
Здравствуйте, я добавляю запись в БД, первый раз запись добавляется, а вторая нет выходит ошибка "Нарушение ограничения первичного...


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru