Добавление записей в базу данных

Так как подключение к базе данных уже происходит при загрузке формы LocalDBExample, нам не нужно подключаться повторно. Перейдем на вкладку INSERT и выполним двойной щелчок по кнопке «Добавить». Visual Studio создаст метод, который будет обрабатывать нажатие этой кнопки.

Добавление записей в базу данных - student2.ru

Пропишем туда новую команду:

SqlCommand command = new SqlCommand("INSERT INTO [Products] (Name, Price)VALUES(@Name,@Price)", sqlConnection);

Теперь свяжем наши данные из базы с элементами TextBox:

Добавление записей в базу данных - student2.ru

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

Добавление записей в базу данных - student2.ru

Теперь в обработчик нажатия кнопки добавим условный оператор, который будет проверять, заполнены ли поля, и выводить сообщение в label в обратном случае:

if (!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox1.Text) &&

!string.IsNullOrEmpty(textBox2.Text) && !string.IsNullOrWhiteSpace(textBox2.Text))

{

… НАШ КОД …

}

else

{

label7.Visible = true;

label7.Text = "Поля 'Имя' и 'Цена' должны быть заполнены!";

}

Добавление записей в базу данных - student2.ru

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

if (label7.Visible) label7.Visible = false;

Добавление записей в базу данных - student2.ru

Для добавления в базу новых данных осталось только выполнить написанную команду:

command.ExecuteNonQuery();

Добавление записей в базу данных - student2.ru

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

Добавление записей в базу данных - student2.ru

В ее обработчике нужно очистить вкладку 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();

}

}

Добавление записей в базу данных - student2.ru

Важно не забыть, перед этим закрыть уже существующее подключение к базе данных:


if (sqlReader != null)

sqlReader.Close();

Запустим программу и перейдем на вкладку INSERT. В поле «Имя продукта» занесем апельсин, а в поле «Цена» напишем 40.

Добавление записей в базу данных - student2.ru

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

Добавление записей в базу данных - student2.ru

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

Добавление записей в базу данных - student2.ru

Видим, что добавился апельсин.

Наши рекомендации