Задание
Написать программу к базе данных. Внимание! Вариант кода в файле Постановка не полностью рабочий!! Работает по факту только загрузка данных. Импорт данных с Excel описанный в файле также не рабочий!
Функционал программы
- добавление данных
- изменение данных
- удаление данных
- очистка полей
Фрагмент программного кода (версия 1)
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Configuration;
namespace CountryIndexes
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Indicators"].ConnectionString);
private void Populate()
{
conn.Open();
string query = "select * from Countries";
SqlDataAdapter da = new SqlDataAdapter(query, conn);
SqlCommandBuilder builder = new SqlCommandBuilder(da);
var ds = new DataSet();
da.Fill(ds);
IndicatorsDGV.DataSource = ds.Tables[0];
conn.Close();
}
private void MainForm_Load(object sender, EventArgs e)
{
Populate();
}
}
Фрагмент программного кода (версия 2)
using System;
using System.Windows.Forms;
using System.Configuration;
using System.Data.SqlClient;
using MaterialSkin;
using MaterialSkin.Controls;
namespace CountryIndexes2
{
public partial class IndicatorsForm : MaterialForm
{
// Основные Sql параметры
SqlConnection SqlConnection;
public IndicatorsForm()
{
InitializeComponent();
var materialSkinManager = MaterialSkinManager.Instance;
materialSkinManager.AddFormToManage(this);
materialSkinManager.Theme = MaterialSkinManager.Themes.LIGHT;
materialSkinManager.ColorScheme = new ColorScheme(Primary.BlueGrey800, Primary.BlueGrey900,
Primary.BlueGrey500, Accent.LightBlue200, TextShade.WHITE);
}
private async void IndicatorsForm_Load(object sender, EventArgs e)
{
SqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["Indicators"].ConnectionString); // строка подключения
await SqlConnection.OpenAsync(); // открыли подключение к БД
SqlDataReader sqlReader = null;
SqlCommand command = new SqlCommand("SELECT * FROM [Countries] ", SqlConnection);
try
{
sqlReader = await command.ExecuteReaderAsync();
while (await sqlReader.ReadAsync())
{
listBox1.Items.Add(Convert.ToString(sqlReader["ID"]) + " | " + Convert.ToString(sqlReader["Country"]) +
" | " + Convert.ToString(sqlReader["GDP"]) + " | " + Convert.ToString(sqlReader["HDI"]) +
" | " + Convert.ToString(sqlReader["CO2"]));
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(), ex.Source.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
sqlReader?.Close(); // закрыли подключение к БД
}
}
}
Скриншот архива с проектом

Пояснения по запуску программы
Запустить Visual Studio, подключить БД (смотри инструкцию), запустить проект.
Телеграм
-