1 / 1 / 1
Регистрация: 20.02.2010
Сообщений: 65

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

19.03.2012, 13:32. Показов 3663. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru