Задание
Написать программу к базе данных. Внимание! Вариант кода в файле Постановка не полностью рабочий!! Работает по факту только загрузка данных. Импорт данных с 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, подключить БД (смотри инструкцию), запустить проект.
admin