Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Топ:
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
|
из
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, и нажмем «Обновить».

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

Видим, что добавился апельсин.
|
|
|
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!