Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Топ:
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Так как подключение к базе данных уже происходит при загрузке формы LocalDBExample, нам не нужно подключаться повторно. Перейдем на вкладку INSERT и выполним двойной щелчок по кнопке «Добавить». Visual Studio создаст метод, который будет обрабатывать нажатие этой кнопки.

Пропишем туда новую команду:
SqlCommand command = new SqlCommand("INSERT INTO [Products] (Name, Price)VALUES(@Name,@Price)", sqlConnection);
Теперь свяжем наши данные из базы с элементами TextBox:

Нужно учесть вариант, в котором пользователь оставит поля пустыми. Для этого на вкладку INSERT добавим еще один Label, в котором будет выводиться информация об ошибке. Присвоим его свойству Visible значение false.

Теперь в обработчик нажатия кнопки добавим условный оператор, который будет проверять, заполнены ли поля, и выводить сообщение в label в обратном случае:
if (!string.IsNullOrEmpty(textBox1.Text) &&!string.IsNullOrWhiteSpace(textBox1.Text) &&
!string.IsNullOrEmpty(textBox2.Text) &&!string.IsNullOrWhiteSpace(textBox2.Text))
{
… НАШ КОД …
}
else
{
label7.Visible = true;
label7.Text = "Поля 'Имя' и 'Цена' должны быть заполнены!";
}

И перед выполнением выделенного кода, нужно проверить свойство visible у label7, и если оно равно true, то заменить на false;
if (label7.Visible) label7.Visible = false;

Для добавления в базу новых данных осталось только выполнить написанную команду:
command.ExecuteNonQuery();

Для того, чтобы можно было увидеть изменения на вкладке SELECT, не выходя из программы, добавим на вкладку SELECT еще одну кнопку, и назовем ее «Обновить»:

В ее обработчике нужно очистить вкладку SELECT, а затем снова загрузить туда данные из базы точно так же, как это было сделано в методе Form1_Load.
listBox1.Items.Clear();
if (sqlReader!= null)
sqlReader.Close();
string connectionString = "Data Source=(LocalDB)\\MSSQLLocalDB;" +
"AttachDbFilename=C:\\Users\\cifracom\\Documents\\" +
"Visual Studio 2017\\Projects\\LocalDBExample\\LocalDBExample\\" +
"ExampleData.mdf;Integrated Security=True";
try
{
sqlConnection = new SqlConnection(connectionString);
sqlConnection.Open();
SqlCommand command = new SqlCommand("SELECT * FROM [Products]", sqlConnection);
sqlReader = command.ExecuteReader();
while (sqlReader.Read())
{
listBox1.Items.Add(Convert.ToString(sqlReader["Id"]) + " " +
Convert.ToString(sqlReader["Name"]) + " " +
Convert.ToString(sqlReader["Price"])
);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(),ex.Source.ToString(), MessageBoxButtons.OK);
}
finally
{
if (sqlReader!= null)
sqlReader.Close();
}
}

Важно не забыть, перед этим закрыть уже существующее подключение к базе данных:
if (sqlReader!= null)
sqlReader.Close();
Запустим программу и перейдем на вкладку INSERT. В поле «Имя продукта» занесем апельсин, а в поле «Цена» напишем 40.

Нажмем кнопку добавить, перейдем на вкладку SELECT, и нажмем «Обновить».

Как мы видим, в таблицу продуктов добавился апельсин. В обозревателе серверов правой кнопкой нажмем на базу данных и выберем обновить. Затем откроем таблицу продуктов:

Видим, что добавился апельсин.
|
|
|
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
© cyberpedia.su 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!