Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 9 / 0
Регистрация: 03.02.2015
Сообщений: 134

Вставить строку в таблицу базы данных SQL Server

06.02.2020, 23:00. Показов 1369. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем в приложении виндовс формс есть окно, где пользователь вбивает данные, которые должны попасть в таблицу, которая есть в базе данных. Действие должно произойти по нажатию кнопки, так что нужен примерный код для кнопки как можно эти данные (одну строку) вставить в таблицу. Я что-то нагуглил, написал, но не работает:
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
        private void Button1_Click(object sender, EventArgs e)
        {
            using (SqlConnection connection = new SqlConnection(Properties.Settings.Default.connString))
            {
                // Create a SqlCommand, and identify it as a stored procedure.
                using (SqlCommand sqlCommand = new SqlCommand("MARS.addNewApplicant", connection))
                {
                   
                    sqlCommand.CommandType = CommandType.StoredProcedure;
 
                    // Add input parameter for the stored procedure and specify what to use as its value.
                    sqlCommand.Parameters.Add(new SqlParameter("@FirstName", SqlDbType.NVarChar, 20));
                    sqlCommand.Parameters["FirstName"].Value = textBox1.Text;
 
                    sqlCommand.Parameters.Add(new SqlParameter("@LastName", SqlDbType.NVarChar, 20));
                    sqlCommand.Parameters["LastName"].Value = textBox2.Text;
 
                    sqlCommand.Parameters.Add(new SqlParameter("@BirthDate", SqlDbType.Date));
                    sqlCommand.Parameters["BirthDate"].Value = dateTimePicker1.Value;
 
                    sqlCommand.Parameters.Add(new SqlParameter("@Gender", SqlDbType.NVarChar, 5));
                    sqlCommand.Parameters["Gender"].Value = textBox4.Text;
 
                    sqlCommand.Parameters.Add(new SqlParameter("@Country", SqlDbType.NVarChar, 20));
                    sqlCommand.Parameters["Country"].Value = textBox5.Text;
 
                    sqlCommand.Parameters.Add(new SqlParameter("@Residence", SqlDbType.NVarChar, 150));
                    sqlCommand.Parameters["Residence"].Value = textBox6.Text;
 
                    sqlCommand.Parameters.Add(new SqlParameter("@Education", SqlDbType.NVarChar, 150));
                    sqlCommand.Parameters["Education"].Value = textBox7.Text;
 
                    sqlCommand.Parameters.Add(new SqlParameter("@Speciallization", SqlDbType.NVarChar, 100));
                    sqlCommand.Parameters["Speciallization"].Value = textBox8.Text;
 
                    sqlCommand.Parameters.Add(new SqlParameter("@VacancyID", SqlDbType.Int));
                    sqlCommand.Parameters["VacancyID"].Value = Convert.ToInt32(numericUpDown1.Value);
 
                    sqlCommand.Parameters.Add(new SqlParameter("@PhoneNumber", SqlDbType.NChar, 12));
                    sqlCommand.Parameters["PhoneNumber"].Value = textBox10.Text;
 
                    sqlCommand.Parameters.Add(new SqlParameter("@PhoneNumber", SqlDbType.NChar, 12));
                    sqlCommand.Parameters["PhoneNumber"].Value = textBox10.Text;
 
                    sqlCommand.Parameters.Add(new SqlParameter("@Conclusion", SqlDbType.NVarChar, 50));
                    sqlCommand.Parameters["Conclusion"].Value = textBox11.Text;
 
                    sqlCommand.Parameters.Add(new SqlParameter("@GroupName", SqlDbType.NVarChar, 5));
                    sqlCommand.Parameters["GroupName"].Value = textBox12.Text;
 
                    try
                    {
                        connection.Open();
 
                        // Run the stored procedure.
                        sqlCommand.ExecuteNonQuery();
                    }
                    finally
                    {
                        connection.Close();
                    }
                }
        }
 }
Вот ошибка:

Проблемы я вижу 3:
1) не работает соединение с базой данных
2) даже если работает, у меня в коде нет ничего, что ссылается на конкретную таблицу базы данных, что странно, по-моему, потому что таблица там не одна содержится
3) вообще всё гавно и неправильно
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.02.2020, 23:00
Ответы с готовыми решениями:

SQL Server Compact Framework. Как получить из базы данных последнюю добавленную запись в таблицу
Так не работает. Вообще исключение появляется, что не знает SQL такой функции internal мщшв GetLastEventNumber() { ...

Добавить данные в таблицу базы данных Microsoft SQL Server Compact 3.5. Объясните пожалуйста, каким образом это делается =)
Здравствуйте. Решил научиться работать с базами данных. Cоздал проект, подключил базу данных Microsoft SQL Server Compact 3.5. Создал...

Как средствами джавы реализовать просмотр базы данных Access, SQL Server, SQL Server Compact и запись в нее?
---

5
1 / 9 / 0
Регистрация: 03.02.2015
Сообщений: 134
06.02.2020, 23:07  [ТС]
Да, вот ещё кстати срока подключения к БД:
0
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
07.02.2020, 11:00
.. да всё по идее правильно, только имя параметра таким должно оставаться, как задали
C#
1
2
sqlCommand.Parameters.Add(new SqlParameter("@FirstName", SqlDbType.NVarChar, 20));
                    sqlCommand.Parameters["@FirstName"].Value = textBox1.Text;
https://docs.microsoft.com/en-... mework-4.8
1
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
07.02.2020, 13:22
carrotik, тут скорее вопрос к тем переменным, которые были объявлены в хранимой процедуре, я думаю.
Steelandrew, https://metanit.com/sharp/adonet/2.11.php
все вроде доступно расписано.
0
1 / 9 / 0
Регистрация: 03.02.2015
Сообщений: 134
08.02.2020, 06:52  [ТС]
Заработало
до меня еще не сразу дошло, что из приложения данные передаются в заранее созданную хранимую процедуру в БД, а потом она уже она вставляет их в таблицу

Добавлено через 9 минут
а в профессиональной сфере как заполняются данные в таблицы через хранимые процедуры также или как?
я-то просто курсач делаю
0
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
08.02.2020, 08:44
Steelandrew, много лет назад подобные хранимые процедуры использовались в профессиональной сфере.
Сейчас так уже никто не пишет. Общепринятым подходом является использование ORM фреймворков и минимизация количества логики на стороне базы данных.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.02.2020, 08:44
Помогаю со студенческими работами здесь

Блокировка базы SQL запросом (Дравер базы данных не может заблокировать таблицу ХХХХХ)
Подскажите, пожалуйста возможные решения: Есть базы в *.DBF файлах, создан System DSN (Драйвер Microsoft DBase Driver (*.dbf)), работает...

Как вставить файл в таблицу базы данных
Всем доброго времени суток. У меня такой вопрос. Есть БД под названием Архив документов, основная задача этой БД хранение сведений о...

Базы данных SQL Server и C#
Всем добрый вечер. Интересует создание баз данных и работа с ними на c#.Я вообще не имею представления никакого как это делается...Обычно...

Создание пустой базы данных и импорт данных в sql server 2000
Установила sql server 2000 home edition на локальный компьютер. Стоят три вопроса. Первое это как создать пустую базу данных в нем. Второе-...

Создания базы данных и таблиц в базу данных в SQL Server Managment Studio
Здраствуйте. Нужно создать такую маленькую программу при помощи которой можно создать базу данных и таблицы в ней в SQL Server Managment...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru