Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для gen1usqq
1 / 1 / 0
Регистрация: 11.12.2014
Сообщений: 135

Непонятное исключение при вставке в базу данных

12.02.2016, 20:10. Показов 1494. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема заключается в следующем, вылазит при попытке вставки в БД, используя MS SQL 2008 Express, в Visual Studio, вылазит предупреждение об исключении. Я устал и не знаю что делать, надежда на вас!
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
public void InsertAuto(string teatr,string galereya)
{
    string sql = string.Format("INSERT INTO Театры" +
    "([Выберите театр],[Галереи соответствующего театра]) Values('{0}','{1}')", teatr,galereya);
    OpenConnection();
    // Параметризованная команда
    using (SqlCommand cmd = new SqlCommand(sql, this.conn))
    {
        SqlParameter param = new SqlParameter();
        param.ParameterName = "@Выберите театр";
        param.Value = teatr;
        param.SqlDbType =SqlDbType.Text;
        cmd.Parameters.Add(param);
 
        param = new SqlParameter();
        param.ParameterName = "@Галереи соответствующего театра";
        param.Value = galereya;
        param.SqlDbType = SqlDbType.Text;
        cmd.Parameters.Add(param);
        cmd.ExecuteNonQuery(); // тут ошибка
    }
    public void OpenConnection()
    {
      conn = new SqlConnection(connStr);
      conn.Open();
    }
    private void button1_Click(object sender, EventArgs e) //кнопка вставки
    {
      InsertAuto(textBox1.Text, textBox2.Text);
    }
}
Миниатюры
Непонятное исключение при вставке в базу данных  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2016, 20:10
Ответы с готовыми решениями:

При вставке данных в базу данных повышается autoincrement, но данные не вставляются
Всем доброго дня. Существует некая функция log, отправляющая в БД (MySQL 5.6) запрос на добавление новой строки. def log(logtype,...

Авто дописывание данных при вставке в базу данных
Здравствуйте, как мне сделать что бы посетитель писал в строку свой сайт без http:// , то этот http:// приписывался в начало ссылки сам и...

Несовпадение типов при вставке в базу данных
Всем привет! Народ, делаю импорт данных из Excel в MSSQL. Сначала залил все данные в DataTable, а уже из нее с помощью SQLBulkCopy...

4
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
13.02.2016, 00:46
Цитата Сообщение от gen1usqq Посмотреть сообщение
надежда на вас!
Попробуйте так.
C#
1
2
string sql = string.Format("INSERT INTO Театры" +
    "(@Выберите театр,@Галереи соответствующего театра) Values('{0}','{1}')", teatr,galereya);
Но вообще использовать кириллицу лучше не привыкать.
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
13.02.2016, 01:39
Я таки не понимаю, зачем здесь параметры.
Формат команды:
SQL
1
INSERT INTO ИмяТаблицы ( Поле1, Поле2, ..., ПолеN) VALUES (Значение1, Значение2, ..., ЗначениеN)
Зачем параметры в списке полей? Зачем вообще параметры, если значения передаются в метод и через string.Format() помещаются непосредственно в текст команды?
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18267 / 14190 / 5368
Регистрация: 17.03.2014
Сообщений: 28,880
Записей в блоге: 1
13.02.2016, 02:18
Лучший ответ Сообщение было отмечено gen1usqq как решение

Решение

gen1usqq, в именах параметров нельзя использовать пробелы. Перепиши код вот так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public void InsertAuto(string teatr, string galereya)
{
    string sql = "INSERT INTO Театры ([Выберите театр], [Галереи соответствующего театра]) VALUES (@ВыберитеТеатр, @ГалереиСоответствующегоТеатра)";
    OpenConnection();
    using (SqlCommand cmd = new SqlCommand(sql, this.conn))
    {
        SqlParameter param = new SqlParameter();
        param.ParameterName = "@ВыберитеТеатр";
        param.Value = teatr;
        param.SqlDbType = SqlDbType.Text;
        cmd.Parameters.Add(param);
        
        param = new SqlParameter();
        param.ParameterName = "@ГалереиСоответствующегоТеатра";
        param.Value = galereya;
        param.SqlDbType = SqlDbType.Text;
        cmd.Parameters.Add(param);
        
        cmd.ExecuteNonQuery();
    }
}
1
 Аватар для gen1usqq
1 / 1 / 0
Регистрация: 11.12.2014
Сообщений: 135
13.02.2016, 13:33  [ТС]
Спасибо исключение пропало, но почему то в datagridview ничего и не вставляется, я просто новичок в этом деле, не могли бы подсказать, что нужно дописать или что исправить?

Добавлено через 1 час 44 минуты
Всё спасибо, сам всё сделал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.02.2016, 13:33
Помогаю со студенческими работами здесь

JPA entity manager: немогу поймать исключение при вставке/обновлении данных
В моём проекте используется jpa и его entity manager (поставщик - hibernate), проблема в том что я не могу поймать исключение там где мне...

Исключение дубликатов при записи в базу данных
Как исключить дубликаты при записи в базу данных! Нужно повторяющиеся данные перезаписывать или пропускать. Если использую insert ignore...

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

Кодировка при вставке в базу mysql
есть код: using (MySqlConnection c = new MySqlConnection(connectionString)) { string query = "insert...

Непонятное исключение при добавлении элемента в список из другого класса
Необработанное исключение типа "System.NullReferenceException" в ConsoleApplication1.exe Ругается, разумеется на строчку try, подскажите...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru