Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 2 / 0
Регистрация: 28.10.2018
Сообщений: 77

Добавление данных в БД

16.12.2019, 12:03. Показов 1601. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Есть кусок кода, который отвечает за добавление информации в БД. Все переменные считаются верными (проверено). Просто при исполнении выдает ошибку на строку "await command.ExecuteNonQueryAsync();". Пишет: "Недопустимая операция. Подключение закрыто.". Процедура AddStringToBd вызывается правильно.
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
    public partial class Form3 : Form
    {
        SqlConnection sqlConnection;
 
        public Form3()
        {
            InitializeComponent();
        }
 
        private void Form3_FormClosed(object sender, FormClosedEventArgs e)
        {
            Form frm = new Form1();
            frm.Left = this.Left;
            frm.Top = this.Top;
            frm.Show();
            this.Hide();
        }
 
        private async void Form3_Load(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
            string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=U:\Study\Практика ТРПО\Программа\Game\Game15\Game15\Database1.mdf;Integrated Security=True";
 
            sqlConnection = new SqlConnection(connectionString);
 
            await sqlConnection.OpenAsync();
 
            SqlDataReader sqlReader = null;
 
            SqlCommand command = new SqlCommand("SELECT * FROM [Records]", sqlConnection);
 
            try
            {
                sqlReader = await command.ExecuteReaderAsync();
 
                while (await sqlReader.ReadAsync())
                {
                    listBox1.Items.Add(Convert.ToString(sqlReader["id"]) + "        " + Convert.ToString(sqlReader["Name"]) + "       " + Convert.ToString(sqlReader["Kol_vo_click"]) + "       " + Convert.ToString(sqlReader["Time"]));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                if (sqlReader != null)
                    sqlReader.Close();
            }
        }
 
        private void Form3_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (sqlConnection != null && sqlConnection.State != ConnectionState.Closed)
                sqlConnection.Close();
        }
 
        public async void AddStringToBd()
        {
            SqlCommand command = new SqlCommand("INSERT INTO [Records] (Name, Kol_vo_click, Time)VALUES(@Name, @Kol_vo_ckick, @Time)", sqlConnection);
 
            command.Parameters.AddWithValue("Name", perem.personName);
            command.Parameters.AddWithValue("Kol_vo_click", perem.kol_vo);
            command.Parameters.AddWithValue("Time", perem.timer);
 
            await command.ExecuteNonQueryAsync();
        }
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.12.2019, 12:03
Ответы с готовыми решениями:

Добавление данных в бд из input, а так же добавление картинки в папку и прописка пути
Здравствуйте, код для магазина. Есть форма с определенными полями , для упрощения сделала выбор таблицы для записи что бы потом выводить...

Создайте меню программы, состоящее из трех пунктов: удаление данных, добавление данных, просмотр данных
Создайте меню программы, состоящее из трех пунктов: удаление данных, добавление данных, просмотр данных. Программируйте запись текста в...

Выбор данных из полей со списком, занесение этих данных в список и добавление данных в таблицу
Подскажите пожалуйста, как что то подобное сделать в Access или посоветуйте хорошую литературу где это описывается.

7
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
16.12.2019, 13:20
RKeyProg, не надо так делать. Это некрасиво и легко ошибку допустить (что вы и сделали). Изолируйте всю возню с СУБД в отдельном классе. Тогда ошибиться с подключениями будет сложно. Вот пример реализации паттерна "Репозиторий".
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
16.12.2019, 13:31
RKeyProg, а еще sqlReader может закрывать связанный с ним sqlConnection при некоторых условиях.
Если вы вначале метода AddStringToBd посмотрите ConnectionState вашего sqlConnection - статус у него будет закрыт.
Да и в целом sqlConnection всегда оборачивается using'ом, и для каждой транзакции создается новое подключение
0
0 / 2 / 0
Регистрация: 28.10.2018
Сообщений: 77
16.12.2019, 13:43  [ТС]
Получается, что мне надо открыть sqlConnection? Как это сделать?

Добавлено через 2 минуты
А какая суть ошибки? Делал по видео, там нету ошибки
0
Эксперт .NET
 Аватар для Usaga
14314 / 9398 / 1355
Регистрация: 21.01.2016
Сообщений: 35,431
16.12.2019, 13:46
RKeyProg, суть ошибки в закрытом подключении к базе.
1
0 / 2 / 0
Регистрация: 28.10.2018
Сообщений: 77
16.12.2019, 13:50  [ТС]
Чтобы ее исправить нужно открыть подключение? Или как?
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
16.12.2019, 14:09
RKeyProg, вы вообще читаете?
Цитата Сообщение от Рядовой Посмотреть сообщение
Да и в целом sqlConnection всегда оборачивается using'ом, и для каждой транзакции создается новое подключение
0
0 / 2 / 0
Регистрация: 28.10.2018
Сообщений: 77
16.12.2019, 14:50  [ТС]
Читаю, но много непонятно. Пытаюсь разобраться
Пример можно?

Добавлено через 38 минут
Нашел ошибку. Бональная невнимательность.
SqlCommand command = new SqlCommand("INSERT INTO [Records] (Name, Kol_vo_click, Time)VALUES(@Name, @Kol_vo_ckick, @Time)", sqlConnection);
Надо исправить Kol_vo_ckick на Kol_vo_click
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.12.2019, 14:50
Помогаю со студенческими работами здесь

Организовать добавление данных в файл, просмотр, поиск и очистку данных
НАписать программу. Компонентами типизированного файла являются записи, состоящие из следующих полей: - фамилия; - имя; - отчество; - город...

Добавление данных через форму в таблицу базы данных MS SQL
Здравствуйте! Я делаю форму для добавления записи в таблицу базы данных, созданную в MS SQL 2008. В таблице три поля...

Добавление данных в несколько связанных таблиц и просмотр этих данных на одной форме
Здравствуйте. Задача такая. Заполняю Персону, физическое лицо. таблица Персоны(п_код, наименованиеПолное, НаименованиеСокр, телефон,...

Ввод данных, добавление данных, получение информации из файла по заданным критериям выборки
Все привет!!!Обращаюсь к вам за помощью...никак не получается решить задачку... Суть такая....Написать на языке программирования С++,...

Добавление данных в таблицу из полей формы access, если таких данных в таблице нет
Может быть я всех достал уже. Но к сожалению я еще только учусь, и иногда возникают проблемы. Есть такой вопрос с таблицу Сотрудники,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru